osx – 将基于视图的NSOutlineView绑定到核心数据

osx – 将基于视图的NSOutlineView绑定到核心数据,第1张

概述我试图在Mac应用程序中实现新的基于视图的OutlineView作为源列表。但是,我无法获得显示值,所以我从Core Data应用程序模板中做了一个小测试应用程序,也无法在其中正常工作。 我在数据模型中定义了两个简单的类;让我们称之为“父母”和“孩子”。父母有一个属性,“名称”和单个关系“孩子”。 name是一个可选的字符串,而child是与Child可选的多对多关系。孩子具有相同的“名称”属性和 我试图在Mac应用程序中实现新的基于视图的OutlineVIEw作为源列表。但是,我无法获得显示值,所以我从Core Data应用程序模板中做了一个小测试应用程序,也无法在其中正常工作。

我在数据模型中定义了两个简单的类;让我们称之为“父母”和“孩子”。父母有一个属性,“名称”和单个关系“孩子”。 name是一个可选的字符串,而child是与Child可选的多对多关系。孩子具有相同的“名称”属性和一个与孩子相反的“父”关系。我为这两个人生成了自定义类,并为Child返回无效的孩子写了一个存根。

我将源列表从对象库拖到我的XIB上,并放在一个树控制器中。树控制器的儿童密钥路径设置为“儿童”,它以实体名称模式,“父”作为实体名称,准备内容检查,其管理对象上下文设置为应用程序代理的上下文。树控制器是大纲视图的数据源,我将数据单元格的文本视图绑定到“表单元视图”,并使用“objectValue.name”键路径。

在-applicationDIDFinishLaunching中:我创建两个父实例,一个有一个Child,并分配每个对象的name属性。

实际的问题

现在,使用这种方式,我在源列表中显示行,但是文本字段是空的,即使它们被绑定。我不认为我需要做任何其他事情,因为我使用绑定,我相当肯定绑定到objectValue属性是正确的事情。怎么了?

如果需要,我可以提供更多的细节,但我很确定涵盖了我所做的一切。

解决方法 哇,就像我两周前一样,正在问这个问题。

无论如何,如果你像我一样,问题是,
对于基于视图的NSOutlineVIEws,您需要实现

- (NSVIEw *)outlineVIEw:(NSOutlineVIEw *)outlineVIEw     vIEwFortableColumn:(NStableColumn *)tableColumn                   item:(ID)item;

委托方法并返回您设置的NStableCellVIEw,
或者他们只会给你一个空行。最简单的方法是调用

[outlineVIEw makeVIEwWithIDentifIEr:@"MyCell" owner:self]

用您输入的任何内容替换MyCell作为“用户界面项目标识符”在您的NStableCellVIEw的身份检查器。

总结

以上是内存溢出为你收集整理的osx – 将基于视图的NSOutlineView绑定到核心数据全部内容,希望文章能够帮你解决osx – 将基于视图的NSOutlineView绑定到核心数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1036736.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存