这个问题是由对Should NSInteger really be used everywhere?
的回复引发的我仍然试图围绕将NSInteger用于小值的含义,特别是现在NSInteger在64位环境中转换为long。我来自思想学院,说你想用尽可能小的内存空间来获得最大的效率。因此,例如,如果您确定某个变量只能保留0到5的值,那么您将使用short
,或者使用Objective-C int
。但是你永远不会使用long
因为那只是浪费。
但是,当然,Objective-C中的最佳实践一直是使用NSInteger
和NSUInteger
来实现64位的“未来证明”。现在它就在这里(特指iPhone 5S),我声称为NSInteger
的小0到5号现在被保存在long
64位空间中。
也许这是我缺乏学位,但我很难理解这是一件好事。有人可以用补救措辞解释它或发布相关链接吗?