我对Objective-C编程很新,所以请原谅这个大问题。如果我按如下方式创建NSInteger:
@property (nonatomic) NSInteger myNumber;
它被分配给一个随机整数a la'C'还是被自动分配给'0'?
另外,分配它的最合理位置在哪里,注意这将在视图控制器中,可能会或可能不会从另一个视图控制器接收此值。
此时我是偏执狂并使用NSNumber,所以至少我可以测试nil,但我希望看看我能不能做得更好。
答案 0 :(得分:0)
Per Creger的评论,
我查看了Are ints always initialized to 0?
的结果NSInteger确实被初始化为零,就像所有类实例变量一样。
这是关于苹果文档的评论:
alloc方法还有另外一项重要任务,即通过将对象属性设置为零来清除为对象属性分配的内存。这避免了以前存储的包含垃圾的内存的常见问题,但不足以完全初始化对象。
有关如何不适用于malloc的更详细回复,请参阅该帖子的已接受答案 https://stackoverflow.com/a/990826/2668545
答案 1 :(得分:-2)
它默认为0.我认为你把它设置为错误。