gpt4 book ai didi

swift - 如何在文档子类中使用带有键的 cocoa 绑定(bind)?

转载 作者:行者123 更新时间:2023-11-28 06:48:00 26 4
gpt4 key购买 nike

这是我的 Swift 应用程序中 freqstart 变量的定义:

enter image description here

这是在我的 NSDocument 子类 NECDocument 中。我的 NECDocumentVCNSViewController 的子类,并且有一个指向 NECDocument 的链接,因此我可以从 VC 访问这些变量:

enter image description here

请注意,这两个对象都是 NS* 类层次结构的一部分,因此一切都应该与 KVO 一起正常工作。

我是这样使用的:

enter image description here

问题是关键路径无效,从字段中的灰色 ! 可以看出。为了好玩,我在我的 VC 中放置了相同的变量,很快,这个值就很好了。我在关键路径中尝试了一堆不同的语法,但我尝试过的都没有用。该文档有什么地方需要不同吗?

我重新开始 - 我在 Storyboard中添加了一个 NSObjectController,将其类设置为 NECDocument 并将其绑定(bind)到 NECDocumentVC->self.document。然后我将文本字段绑定(bind)到指向 OC,现在它自动完成了没有 ! 的“freqstart”。唯一的问题是现在它显示“无选择”,并且不清楚我将如何更改选择,它是只读的。

我不想将我所有的变量都放在我的 VC 中,那根本不属于它们。那么有人可以建议解决这个问题的方法吗?

更新:

我在我的 DocumentVC 中添加了一个 Referencing Outlet,然后在 viewDidAppear 中添加了 SettingsController?.addObject(document!)。现在运行该应用程序会产生:

2016-03-03 14:28:05.880 SwiftNEC[73373:6282035] 无法为来自 的关键路径“document.usegreens”的观察者更新,很可能是因为关键“document”的值已更改而没有适当的正在发送 KVO 通知。检查 SwiftNEC.NECDocumentVC 类的 KVO 合规性。

好的,那么是否可以使用像我用 KVO 定义的文档那样的计算属性?

最佳答案

您正在以非 KVO 方式更改 vc 的文档属性。不是绑定(bind)对象 Controller 的内容,而是在 viewDidLoadviewWillAppear 中执行 SettingsController?.content = document!

关于swift - 如何在文档子类中使用带有键的 cocoa 绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35754604/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com