Objective C concept explanation
I have the following code:
- (void)setItem:(Todo *)newItem {
item = newItem; }
Why is it that I can't do
- (void)setItem:(Todo *)newItem {
self.item = newItem; }
?
I have item decla开发者_高级运维red in my header file but I get a EXC_BAD_ACCESS
error? Item is also not synthesized. The method is meant to be a custom setter.
Thanks!
self.item = newItem;
will cause an infinite loop since it's calling setItem
.
'self.item' means 'the property called item', not the variable called item (unlike Java or C#). Just use 'item = newItem;'. And don't forget to retain it if necessary!
精彩评论