2014-12-19 47 views
-6

我有一個問題讓這個問題固定在Xcode中不無爲什麼它會發生,它說 隱式轉換失去精確到整數「長」到「廉政」隱式轉換失去精確到整數「長」到「廉政」

[self newScheduleNotification:[ud objectForKey:dateKey] addNotifKey:[sw tag] ]; 
+4

你知道,沒有任何有關數據類型的信息,任何人都無法幫助你。 –

+0

我們需要更多的代碼。請爲'newScheduleNotification'添加方法簽名,並告訴我們'tag'返回的是什麼類型。 –

回答

0

如果將類型long的整數值(L值)分配給類型爲int的變量(R值),則會出現此警告。這包括將long類型的參數傳遞給int類型的參數。可能你在[sw tag]處那樣做。

「整數精度丟失」表示提供該值的long表達式可能具有無法用int目標表示的值。

0

將您的類型更改爲notifKeyNSInteger,並將其更改爲newScheduleNotification:addNotifKey:。你傳遞的是一個NSInteger,它是64位的long,32位是int,但你的方法是要求int。在這兩個地方使用NSInteger將爲您處理類型。您必須位於64位模擬器或設備上。如果您使用32位的SIM卡或設備運行,則會看到警告消失,因爲您將int傳遞給尋找int的方法。

相關問題