2014-04-17 74 views
1

當我在Xcode開放代碼我得到這個警告5.1
「類型‘NSInteger的’的價值觀不應該被用來作爲格式參數;添加一個顯式的‘長’,而不是」 爲什麼我們需要將NSInteger投入很長時間?的Xcode 5誤差值類型

回答

3

如果您在iOS(64位)上編譯,則會出現此警告,因爲在該平臺上,NSInteger被定義爲long並且是64位整數。另一方面,%i格式是32位的int。所以格式和實際參數大小不匹配。

由於NSInteger是32位或64位,因此根據平臺的不同,編譯器建議一般將長度加長。

更新:由於iOS 7現在也支持64位,所以在爲iOS編譯時可以得到相同的警告。