也许我只是在这里做错了什么,但我遇到了一个我找不到解决方案的问题。也许有人看过这个?
使用 Xcode 6,我使用 Objective C 和 Storyboard创建了一个新项目。
在界面构建器 View 中,我在 Storyboard随附的 View 上放置了一个文本字段,并将其绑定(bind)到“Shared User Defaults Controller”。一切正常。
我添加了第二个 View Controller 。这创建了一个新场景。我在此 View 上放置了一个文本字段并将其绑定(bind)到“Shared User Defaults Controller”,这就是问题所在:
“用户默认 Controller ”在场景中创建。如果我展开“值”“绑定(bind)到”的下拉列表,列表中现在有 2 个“用户默认 Controller ”对象。绑定(bind)似乎不起作用,因为该值未存储在首选项文件中。
我做错了吗?还是 Xcode 6 上的 OS X Storyboard中的错误?
最佳答案
是的,这是带有 Storyboard的 Xcode 6 中的一个错误。我找到了一个解决方法:手动编辑 Storyboard。
首先将一个项目绑定(bind)到一个场景上的共享首选项。然后关闭 Storyboard并将其编辑为源代码(直接编辑 xml)。
找到代表共享用户首选项实例的行。它应该看起来像这样:
<userDefaultsController representsSharedInstance="YES" id="a6K-Ly-rL1"/>
然后您可以在每个场景中复制这一行,在 objects
数组中,直接在 xml 中。
您必须编辑手动添加的每个共享首选项实例的 ID,因为 Storyboard文件不能有多个具有相同 ID 的对象。只需随机更改 id
字符串中的一个字符即可。
关于objective-c - Xcode 6 OS X Storyboard多个用户默认 Controller 错误与多个场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29312106/