3

我有一个数组控制器和一个用于数据输入的令牌字段。
我找不到使用令牌字段将标记化文本绑定到数组控制器的方法。

问题是当我使用令牌字段委托时,它返回一个NSArray而不是我的实体的NSString格式属性,并且在运行我的应用程序时,如果我使用这个令牌字段,我有一个错误,显示我不兼容的数据模式(属性接受NSString而不是NSArray) .

事实上,我可以处理令牌字段来显示令牌参数,但我不能处理令牌字段到数据数组的绑定!

我能做些什么来解决这个问题?

4

1 回答 1

1

我知道这是旧的,但我相信我有一个答案并愿意贡献它,因为标记字段的“值”的绑定没有很好地记录。事实上,Apple 文档具有误导性。

如果您只需要存储在核心数据中的字符串数组并且不处理representedObject或令牌字段委托,那么您实际上可以在 XIB 和您的 xcdatamodel 中执行所有操作。

将核心数据实体的 NSString 属性切换为可以绑定到令牌字段的属性的第一步。您需要使属性成为可转换的类型。调用它tokenStringArray。您已完成数据模型。(并且任何访问此属性的代码现在都应该期待一个字符串数组。)

令牌字段的值绑定希望连接到一个控制器,该控制器可以使用控制器键传递单个实体,并且该单个实体具有传递字符串数组的模型键路径。因此,如果您的阵列控制器选择单个实体,您将拥有selection控制器键和tokenStringArray模型键路径。选择“持续更新值”,否则保存可能不会立即持续。

而已。将可转换属性绑定tokenStringArray到令牌字段的值后,用户对令牌字段的更改将被保留。

[对于它的价值,我个人有一个绑定到单个实体的对象控制器。要将令牌字段绑定到核心数据属性,似乎某种控制器必须是中间的,所以对我来说,它是对象控制器。如果您有一个表,用户选择的实体应填充令牌字段,那么您将使用数组控制器。令牌字段不能编辑数组控制器的arrangedObjects——它只能从单个对象获取和传递数组。]

于 2014-03-18T18:57:14.950 回答