我還有另一個討厭的警告,我想離開。基本上,我有一個int像這樣聲明:@property (nonatomic, assign) int *myInt;
並像這樣設置:myInt = 0;
。它也在實現文件中被合成。我在設置int值的行上收到一條警告,它說Incompatible intiger to pointer conversion assigning to 'int *' from 'int'.
我應該怎麼做才能解決這個問題?從int分配給'int *'的指針轉換不兼容整數
18
A
回答
55
錯誤信息中有一個很大的提示!
在C和Objective C中,int
是原始數據類型。你寫過int *
,意思是「一個指向int的指針」,而它看起來像你只是想要一個int。
所以,你的屬性改成這樣:
@property (nonatomic, assign) int myInt;
欲瞭解更多信息,谷歌「C指針」,你會發現這樣的信息:http://pw1.netcom.com/~tjensen/ptr/pointers.htm
2
另一種方式來解決,這是根本就沒有聲明指針(刪除星號):
@interface ViewController : UIViewController {
NSUInteger myObjcInt; // unsigned (>= 0) NSObject int, yo
}
12
是,只需從聲明刪除星號(*
)。
例如。聲明BOOL isChecked而不是BOOL * isChecked。
1
int *MyInt
是指向int的指針,而不是int。
正如別人告訴你的,只要刪除*
,你將有一個普通的int。
相關問題
- 1. 從int分配給'char *'的指針轉換不兼容整數
- 2. 指向'NSInteger'(又名'int')的整數轉換不兼容指針
- 3. C:不兼容指針整數轉換
- 4. 從'NSInteger'(又名'int');指向'NSString *'的指針轉換不兼容的整數
- 5. 不兼容的整數指針轉換
- 6. 從不兼容類型'void(Button :: *)(int)'分配給'void(*)(int)'
- 7. 不兼容指針整數轉換'int'與'id'類型的表達式
- 8. 「不兼容的指向整數轉換的指針」
- 9. C-不兼容的整數指針轉換初始化'int *'與類型'int'的表達式[-Wint-conversion]
- 10. 「使用塊時不兼容指向整數轉換的指針」
- 11. 不兼容的整數轉換指針將'void *'發送給'NSEnumerationOptions'類型的參數(又名'unsigned int')
- 12. C不兼容整數指針轉換將'int'傳遞給'const char *'類型的參數;
- 13. 從不兼容類型'int'分配'int(^ __ strong)(void)'
- 14. C - 不兼容的整數轉換指針?
- 15. 指針轉換錯誤不兼容的整數?
- 16. 指針轉換不兼容的整數?什麼?
- 17. INT轉換爲char *指針
- 18. 將int轉換爲指針
- 19. 不兼容的類型int []不能轉換爲int錯誤
- 20. 錯誤:不兼容的類型:int []不能轉換爲int
- 21. Objective C - 指針轉換不兼容整數
- 22. 不兼容的指針類型,而分配指針指向整數數組
- 23. 不兼容指針整數轉換錯誤
- 24. 不兼容的指針類型分配給從「的NSArray」的NSMutableArray「
- 25. 從CCAction分配給CCActionInterval的不兼容指針類型
- 26. 從nsdictionary分配給nsarray的不兼容指針類型
- 27. 不兼容的指針類型從'UIImage *'分配給'UIImageView *'
- 28. 從用戶分配給NSArray *的指針類型不兼容*
- 29. 從'CCTMXLayer *'分配給'CCTMXTiledMap *'的不兼容指針類型
- 30. 不兼容的指針類型分配給「NSManagedObject子類*」從「NSEntityDescription *」
這不是另一種方式 - 這與occulus說的是一樣的。順便說一句,你的評論稱它爲「NSObject int」,這並不真正作爲一個術語很有意義。 – Chuck 2012-01-05 19:27:00
Touche。在搜索與NSInteger相關的問題時,我正在閱讀這篇文章,而不是Int。那裏的回覆太快了,夥計們。我的錯。 – Rob 2012-01-18 14:40:24