我正在努力弄清楚我应该对 NSInteger 和 int 有多在意。我没有计算机科学学位,所以很多类型转换参数听起来非常晦涩难懂。据我所知,论点是“在 iOS 中使用 NSInteger 而不是 int,这样如果/当 64 位 iOS 推出时,您的变量仍然具有正确的大小来存储指针”。好吧,除非我几乎从不在我的 int 中存储指针。
假设我有一个 int 存储欠 Jack 魔法豆的数量,另一个 int 存储剥猫的方法数,我在函数之间传递它们,将它们写入 Core Data 等等,然后苹果发布 64 位 iOS——会发生什么改变呢?我为什么要关心呢?
此外,如果我确实需要关心,为什么不使用 int32_t 而不是 NSInteger 呢?似乎 那个 才是保持事情可预测的方法。