2009-12-04 102 views
0

我有以下代码: - (void)setItem:(Todo *)newItem { item = newItem; }目标C概念解释

为什么我不能做 - (void)setItem:(Todo *)newItem { self.item = newItem; }

我有我的头文件中声明的项目,但我得到一个EXC_BAD_ACCESS错误?项目也不合成。该方法旨在成为一个自定义设置器。

谢谢!

回答

5

self.item = newItem;将导致无限循环,因为它叫setItem

1

“self.item”表示“属性称为item”,而不是称为item的变量(与Java或C#不同)。只需使用'item = newItem;'。如果有必要,不要忘记保留它!