因此,我试图弄清楚我应该关心NSInteger vs int。我没有CS学位,所以很多这些类型的转换参数都很难理解。尽我所知,这个论点是“在iOS中使用NSInteger而不是int,这样最终如果/当64位iOS出来时,你的变量仍然是存储指针的合适大小。”很公平。除了我从未在我的整数存储指针。NSInteger与iOS上的64位体系结构
假设我有一个int存储欠杰克魔法计数,另一个int存储皮肤cat的方法数量,我将它们在函数之间传递并将它们写入到Core Data中,那么Apple发布64位iOS - 有哪些变化?为什么我在乎?
另外,如果我照顾,为什么不是使用int32_t而不是NSInteger的参数?看起来好像那将是保持事情可预测的方式。
皮肤猫的皮肤数量可能很容易超过32位。哎呀,甚至64位可能是不够的;-) ;-) ;-) – dasblinkenlight
我从来没有理解NSInteger的要点...现在,如果它是NSObject(如NSNumber),那么我可以理解它...我个人从未使用NSInteger,因为它会损害我的跨平台兼容性...... – Goz
@dasblinkenlight - 这不是一只猫,它是一只小狗,它被搞砸了,没有被剥皮。在开发人员离开“int”和“short”,然后“long”开放解释的时候,C的开发很早就完成了。并重新解释。并重新解释。而且......每一次试图理清它似乎都在滥用另一只狗。据我了解,Objective-C/Cocoa人发明了NSInteger,因此他们可以控制该类型的大小,而不受其他int类型的影响,这样如果其他定义发生变化,它们的声明接口可以保持无害(反之亦然) –