0

好吧,我真的觉得问这个问题真的很愚蠢,但我已经设法把自己难住了,以至于我怀疑我是否有适当的超然能力来为自己找出答案。我提前道歉...

我玩绑定已经有一段时间了,我很喜欢它们。这和 Objective-C 2.0 中内置的 KVO/KVC 约定使我能够显着精简我的应用程序,同时提高它们的可靠性、灵活性等。我这样说只是为了说明我至少对绑定有一定程度的适应一般来说。话虽如此,我的问题是:

我有一个应用程序,我想通过首选项控制器存储一组可编辑的关键字。容易,对吧?不幸的是,对于我的生活,我无法弄清楚如何去做。我设置了一个数组控制器并将其指向共享首选项对象,并为它提供了数组的键路径。问题是存储在数组中的对象是 NSStrings,由于缺少任何“stringValue/setStringValue”方法,我看不出 NSStrings 如何兼容 KVC 进行这种操作。没有这些,我在设置的 NSTableView 中使用什么键路径来促进对该列表的操作?

此外,由于共享首选项对象不是我拥有的,我不确定如何设置一个新数组来表示未编辑/新安装的状态。(将它们注册为默认值似乎对我不起作用。)

因此,更简洁地重申我的问题:如何将表视图绑定到 NSStrings 数组以及如何将所述数组存储在应用程序的首选项中?

您可以提供的任何指示或建议将不胜感激。我从中得到的头痛开始变得更好。:)

4

2 回答 2

1

你没有。您拥有一组模型对象,每个对象至少有一个属性(字符串的属性),并且您通过数组控制器将表列绑定到此数组,并将模型键路径设置为字符串属性的路径。

假设您的应用程序不仅仅是一个字符串列表编辑器,您可能还有其他可以移动到这个模型类的东西。你应该这样做。

于 2009-07-30T02:25:51.970 回答
0

我知道这个问题已经很老了,但我遇到了类似的问题并登陆了这个页面。我想为我的解决方案做出贡献。我需要的不是一大串字符串。事实上,对于我的需求,表格视图看起来非常难看。然后我想起了另一个控件,NSTokenField. 它绑定到一个开箱即用的字符串数组,对于短字符串的小列表看起来更好:)

于 2013-12-25T13:26:29.443 回答