我有以下代碼: - (void)setItem:(Todo *)newItem { item = newItem; }
目標C概念解釋
爲什麼我不能做 - (void)setItem:(Todo *)newItem { self.item = newItem; }
?
我有我的頭文件中聲明的項目,但我得到一個EXC_BAD_ACCESS
錯誤?項目也不合成。該方法旨在成爲一個自定義設置器。
謝謝!
我有以下代碼: - (void)setItem:(Todo *)newItem { item = newItem; }
目標C概念解釋
爲什麼我不能做 - (void)setItem:(Todo *)newItem { self.item = newItem; }
?
我有我的頭文件中聲明的項目,但我得到一個EXC_BAD_ACCESS
錯誤?項目也不合成。該方法旨在成爲一個自定義設置器。
謝謝!
self.item = newItem;
將導致無限循環,因爲它叫setItem
。
「self.item」表示「屬性稱爲item」,而不是稱爲item的變量(與Java或C#不同)。只需使用'item = newItem;'。如果有必要,不要忘記保留它!