在In Cocoa do you prefer NSInteger or just regular int, and why?,提到了NSDouble
和NSFloat
,但我看不到任何文檔中的參考文獻。如果NSInteger
的目的是爲了建築安全,其他類型如double
或float
?是否存在NSDouble,NSFloat或除NSInteger之外的其他類型?
回答
NSInteger
存在,因爲int
類型在32位和64位系統之間大小不同。 float
和double
的尺寸沒有相同的變化,所以不需要爲它們設置包裝類型。
那麼如果我想向NSArray添加一個double,該怎麼辦?它只接受對象。 –
將它包裝在一個NSNumber對象(它是更一般的NSValue的子類)中。 – duskwuff
好吧,有'CGFloat',它是32位'float'和64位'double'的'typedef'。這與'NS(U)Integer'所做的相當,我會說。 – Regexident
沒有NSFloat
但我知道核心圖形API最終從float
更改爲CGFloat
,因此它可以在某些體系結構上使用double
。
最好使用API標頭聲明的確切類型。如果您爲不同目標重新編譯代碼,這會使類型更改自動進行。
這也是約定。
int的typedef與int int本身不兼容。
示例:pid_t的類型爲int,但傳遞一個int將創建警告。
爲什麼?因爲你想確定如果你跨越API邊界,每個人都知道代碼的期望。
有浮動和雙重類型,即NSTimeInterval。這不是真正的基礎類型,而是遵循的慣例。
如果您將本地int聲明爲循環計數器,並且您不打算將它傳遞給定義良好的API,則可以將int作爲int來調用。
- 1. Amazon RDS是否支持除EBS之外的其他存儲類型?
- 2. 我的模型不保存除Devise之外的其他字段
- 3. 返回除函數的類型之外的其他類型變量
- 4. 保存除Plist以外的其他類型的IOS
- 5. 除XSOM之外是否還有其他解析XSD的框架?
- 6. 除了drupal中的面板之外,是否還有其他類似的模塊?
- 7. System.Net:除了NetworkCredential之外,是否還有其他繼承自ICredentials的類?
- 8. 除D之外還有其他語言是否有靜態if?
- 9. 是否有除了類其他類型由hasattr
- 10. 在SuspensionManager.SessionState中存儲除字符串之外的其他內容
- 11. 如何在除MainActivity之外的其他Java類中播放mp?
- 12. iPhone核心數據NSInteger,整數32,整型或其他
- 13. 如何將NSSize,NSinteger和其他數據類型轉換爲NSString?
- 14. 執行除Google或Mapbox之外的其他地圖
- 15. 如何知道類型是否繼承了其他類型?
- 16. 除iOS 5之外的其他iOS是否會支持此框架?
- 17. DataTable.NewRow是否可以執行除返回行之外的其他任何操作?
- 18. 在啓動它之前檢查是否存在其他報告
- 19. 正在檢查DataMapper(或其他ORM)模型是否存在代碼異味?
- 20. 是::用於除「global ::」之外的任何其他內容
- 21. 顯示取決於它是否存在的值或其他
- 22. 在select中是否存在星號排除其他列?
- 23. 是否有可能使用HTML以外的其他MIME類型的標題?
- 24. 是否可以存儲除wwwroot文件夾以外的其他圖像
- 25. 除了使用循環之外,是否還有其他方式顯示列表?
- 26. C#轉換選項,除語法之外是否還有其他區別?
- 27. 除了轉義之外,HTML實體是否需要其他任何東西?
- 28. 在轉換爲原始類型或其包裝類之間是否存在實際性能差異?
- 29. 除輸入/輸出參數外,類型變量的其他用法是什麼?
- 30. 是否存在其他插入PHP
我不確定OP在說什麼。那些不存在。 – BoltClock
那麼雙重和浮動是建築安全嗎?我可以使用double,但是當它來到int時,我需要使用NSInteger,就像那樣? – sarunw
我不認爲* NSFloat *,* NSDouble *存在。但是,我知道CGFloat存在(不在問題的上下文中,呵呵) – EmptyStack