在Xcode 4.6中,我正在创建一个像这样的数组
entries = [[NSMutableArray alloc] init];
它说我不能和我必须这样做 -
_entries = [[NSMutableArray alloc] init];
在教程中我跟随前者应该没问题。为什么不在这里?
答案 0 :(得分:1)
可能是因为你有一个名为entries
的属性,你将@synthesized改为entries
。您可能会收到警告,表示您正在隐藏变量。
如果让Xcode自动合成属性,它将为您创建一个名为_entries
的后备存储。
或者,你可以写:
self.entries = [[NSMutableArray alloc] init];
答案 1 :(得分:0)
只有在覆盖getter / setter方法时才应使用_object。 “_object =”只是分配,而“self.object =”则调用其setter方法。必须使用_object来阻止setter方法中的无限循环。