我創建了一個nsarraycontroller來在我的nstableview上顯示它的數據。這是行得通的。但我現在如何修改這些數據?如何編輯NSArrayController的數據(或使用其他內容)
[arrayController addObject:[...]]
增加了一個對象,我該如何恢復它?
我想:
NSMutableArray *data = [arrayController mutableArrayValueForKey:@"column1"];]
但後來我得到這個錯誤
2011-05-29 19:25:50.125 TestApp[1665:903] [<NSArrayController 0x113808500> valueForUndefinedKey:]: this class is not key value coding-compliant for the key column1.
(中代表在我看來,行我arraycontroller對象是一個類(名爲FileEntry的的),由4屬性和我作爲關鍵添加到我的nsarraycontroller)
我以爲kvc compilant意味着每個屬性都有一個getter和setter? (而不是什麼屬性呢?)。
我測試我的課,如果我可以使用這個功能:
FileEntry *entry = [[FileEntry alloc] initWithUrl:@"test"]; //(this adds the string "test" to the property "fileurl")
NSLog(@"%@\n", [entry valueForKey:@"fileurl"]);
and it returns:
> 2011-05-29 19:31:54.760 TestApp[1718:903] test
和它的作品。那麼我的班級如何不能成爲kvc-compilant?
無論如何,我也嘗試使用tableviews數據源,而不能得到這兩個函數的工作。那會比nsarraycontroller更有用嗎?是否可以修改nsarraycontroller的數據?
很酷的感謝,現在它的作品!我綁定我的數組控制器到我的appdelegate中的數組(我之前做過,但我認爲我的錯誤是初始化它錯誤),現在可以添加行到我的tableview通過將它們添加到arraycontroller。我覺得有點奇怪,加入到arraycontroller,在數組中編輯... – 2011-05-29 19:58:44