Objective c 如何编辑NSArrayController的数据(或使用其他工具)

Objective c 如何编辑NSArrayController的数据(或使用其他工具),objective-c,cocoa,edit,nsarraycontroller,key-value-coding,Objective C,Cocoa,Edit,Nsarraycontroller,Key Value Coding,我创建了一个nsarraycontroller以在我的nstableview上显示其数据。这是有效的。但是我现在如何修改这些数据呢 [arrayController addObject:[...]] 添加一个对象,如何将其取回 我试过: NSMutableArray *data = [arrayController mutableArrayValueForKey:@"column1"];] 但是我得到了这个错误 2011-05-29 19:25:50.125 TestApp[1665:903

我创建了一个nsarraycontroller以在我的nstableview上显示其数据。这是有效的。但是我现在如何修改这些数据呢

[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.
它是有效的。那么,我的类怎么可能不是kvc编译器呢


无论如何,我也尝试使用tableviews数据源,但无法使这两个函数正常工作。那会比nsarraycontroller更有用吗?甚至可以修改nsarraycontroller的数据吗

通常,NSArrayController需要处理一个抗争数组,因此您可以简单地使用这个数组并使用NSMutableArray方法。例如,在MyController.h中有一个数组声明及其setter和getter方法,您只需将数组控制器的content数组绑定到它。然后,您可以使用两个按钮来添加数组控制器的add和remove方法。现在必须将列的值绑定到array controller管理对象的FileEntry.fileurl,现在应该能够向表视图添加内容。您还可以在表视图中编辑名称。如果您想在程序中的某个地方从数组中获取一些内容,可以使用表视图的一个出口,如下所示:

NSInteger row = [myTableViewOutlet selectedRow];
FileEntry* myEntry = [myArray objectAtIndex:row];

很酷,谢谢,现在它工作了!我将arraycontroller绑定到appdelegate中的一个数组(我以前这么做过,但我认为我的错误是初始化错误),现在可以通过将行添加到arraycontroller将行添加到tableview中。我觉得有点奇怪,添加到arraycontroller,在数组中编辑。。。
NSInteger row = [myTableViewOutlet selectedRow];
FileEntry* myEntry = [myArray objectAtIndex:row];