1

我有一个 NSTableView,我想从 NSArrayController 加载它的值。该数组是动态构建的,并且有可能发生变化。我还想将选定的索引保存在 NSUserDefaults 中,最好是通过绑定到共享用户默认控制器,但我看不到如何在绑定中实现。有没有办法做到这一点?

扩大..

在我的数组中,我有一个自定义类的实例。我只想显示一个 NSString 字段,一个名称。这是一个多选表视图。我想让它们在更改后立即保存。

我知道如何通过绑定使用共享用户默认控制器将字段保存到首选项。我知道如何设置 TableView 以使用数组控制器来显示我想要显示的数据。

我似乎不能同时做这两个。

4

1 回答 1

2

只需将数组控制器的选择索引绑定到共享用户默认控制器,控制器键为“值”,模型键路径为您想要调用的任何内容。您还需要选择 NSKeyedUnarchiveFromData 值转换器。然后在您的代码中,当您想要检索选定的索引时,您可以这样做(这里我只是记录它,我在绑定中使用了名称“selIndxs”):

NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
NSLog(@"%@",[NSKeyedUnarchiver unarchiveObjectWithData:[ud valueForKey:@"selIndxs"]]);
于 2012-05-20T05:47:10.680 回答