cocoa – 如何为NSPopUpButton设置绑定

cocoa – 如何为NSPopUpButton设置绑定,第1张

概述我想将NSPopUpButton的选择绑定到其中一个预定义的值.为了简化,想象一下博客应用程序:我有BlogPost和类别实体(核心数据,虽然没关系),每个BlogPost对象都有一个到Category对象之一的链接(通过category属性). 我想让用户通过NSPopUpButton更改类别,所以在我的XIB中,我有NSArrayController,它包含所有可能的类别,我将按钮的内容值绑定 我想将NSPopUpbutton的选择绑定到其中一个预定义的值.为了简化,想象一下博客应用程序:我有BlogPost和类别实体(核心数据,虽然没关系),每个BlogPost对象都有一个到category对象之一的链接(通过category属性).

我想让用户通过NSPopUpbutton更改类别,所以在我的XIB中,我有NSArrayController,它包含所有可能的类别,我将按钮的内容值绑定到:

>绑定到:categorIEsArrayController
>控制器键:arrangeObjects
>模型键:标题

这个很好的填充d出所有类别的标题.我也可以将Selected Object绑定到:

>绑定到:blogobjectController(或直接到Blog对象)
>控制器键:选择
>模型键:类别

这样可以在d出窗口中选择正确的类别,但更改选择不会更改提交博客文章的类别,而是将帖子类别的标题更改为所选值.

鉴于上述绑定,这实际上是有意义的,所以我的下一步是将d出窗口内容值的绑定更改为仅仅为arrangeObjects(无模型键),类似选择的对象.这项工作和更改选择确实将博客文章的类别更改为另一个.但是它不会在d出菜单中显示类别标题,而是显示类别的描述(在核心数据中以类似于<类别0x1002b6990>(实体:类别; ID:…….)的内容结束.

这也是有道理的,所以我介绍了自定义NSValuetransformer(不可逆).这修复了d出菜单中的项目描述,但随后选择不起作用.我也尝试在选定的对象绑定上使用变换器,但这只是完全禁用我的d出窗口(可能需要反向变换,但这会使变换器大大复杂化).

我错过了一些明显的东西 – 这是否可以完全用绑定来实现,而不在控制器层上引入额外的代码?

欢迎任何欢迎!

PS:希望以上文字有道理:)

解决方法 我会尝试如下:

NSPopupbutton:

>将内容绑定到:categorIEsArrayController ControllerKey:arrangeObjects>将内容值绑定到:categorIEsArrayController ControllerKey:arrangeObjects Model Key Path:Title>将所选对象绑定到:blogobjectController ControllerKey :(空)模型键路径:content.category

总结

以上是内存溢出为你收集整理的cocoa – 如何为NSPopUpButton设置绑定全部内容,希望文章能够帮你解决cocoa – 如何为NSPopUpButton设置绑定所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1017361.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存