2011-02-11 44 views
0

感谢您的帮助。addObject to NSArrayController

核心数据项目。我正在从文本文件中导入文本,并且希望将其显示在NSTextView中,该文件的value绑定已绑定到arrayController的selection,模型关键字路径为text。数组控制器包含我的实体的实例,它具有名为text的字符串属性。我想更新arrayController的绑定到textView的键值,以便保存。建设时没有错误,但没有工作。我该怎么做呢?

id newObject = [arrayController newObject]; 

[arrayController addObject:newObject forKey:@"text"]; 

[newObject release]; 
+0

”我想更新arrayController的绑定到textView的键值,以便保存。“什么? – 2011-02-12 06:33:45

回答

0
[arrayController addObject:newObject forKey:@"text"]; 

这是“不工作”,因为一个NSArrayController没有这样的消息作出响应。数组控制器控制一个数组,而不是一个键值映射;它没有可以添加对象的键。

这又是因为“array” in Cocoa意味着一个有序的连续列表,而不是一个关联数组。可可调用一个键值映射/关联数组a“dictionary”。

模型关键路径正是这样:将key path放入要绑定文本视图的属性的模型中。你似乎已经知道这一点;我假设你在这里输入了text,因为这是你在模型中命名的属性。你的绑定是正确的。

但这也意味着“text”与阵列控制器无关。它是模型实体的属性,而不是控制器。您需要设置模型对象的属性 - 在本例中为newObject - 不在控制器中。 “