簡體   English   中英

無法使用類型為(CGFloat)的參數列表來調用類型為CGFloat的初始化程序

[英]Cannot invoke initializer for type 'CGFloat' with an argument list of type '(CGFloat)'

我不太了解此編譯錯誤,因為我沒有得到此錯誤,並且可以在真實設備上編譯並運行,但是如果我嘗試在模擬器上構建並運行,則會收到此錯誤。

無法使用類型為(CGFloat)的參數列表來調用類型為CGFloat的初始化程序

這是導致錯誤的代碼行:

loadingNotification.yOffset = CGFloat(CGRectGetMinY(self.tableView.bounds))

此外,如果我將其更改為

loadingNotification.yOffset = Float(CGRectGetMinY(self.tableView.bounds))

它適用於模擬器,但不適用於我得到的真實設備

'無法將'Float'類型的值分配給'CGFloat'類型

有什么想法,為什么會這樣?

您可以這樣寫:

#if (arch(i386) || arch(x86_64)) && os(iOS)
    loadingNotification.yOffset = Float(CGRectGetMinY(self.tableView.bounds))
#else
    loadingNotification.yOffset = CGRectGetMinY(self.tableView.bounds)
#endif

無論如何,請嘗試了解為什么設備中具有CGFloat以及SIM中具有Float的原因

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM