2009-12-04 106 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;'。如果有必要,不要忘記保留它!