所以,我想弄清楚我应该关心NSInteger与int有多少关系.我没有CS学位,所以很多这些类型转换参数都很难说.我可以说,最好的论点是"在iOS中使用NSInteger而不是int,这样最终如果/当64位iOS出现时,你的变量仍然是存储指针的正确大小." 很公平.除了我在我的int中存储指针大概永远不会.
假设我有一个int存储欠Jack的魔法豆的数量,另一个int存储皮肤猫的方法数量,我在函数之间传递它们并将它们写入Core Data等等,然后Apple发布64 -bit iOS - 有什么变化?我为什么在意?
另外,如果我关心,为什么不使用int32_t而不是NSInteger?好像这将让事情变得可预测的方式.
关于使用<stdint.h>C99标题中的类型的观点绝对有效:这些类型使您可以更好地控制整数类型的大小.所述NS-prefixed整数类型,然而,早的标准化<stdint.h>,因此,引入一组平行的抽象.
我NS在与Cocoa方法交互时使用-prefixed整数类型.例如,如果Cocoa方法返回NSUinteger,我也使用NSUinteger类型声明我的变量.
<stdint.h>当我需要精确控制存储数据的大小时,我在程序中使用变量类型.最终在核心数据中的项目属于此类别.
当整数类型的大小无关紧要时,例如,当我在循环中需要循环控制变量时for,我会使用int.
| 归档时间: |
|
| 查看次数: |
1546 次 |
| 最近记录: |