0

我试图掌握绑定,并在 xcode 中设置了一个带有 CPTextView 的 CPWindow,并将窗口和 textview 绑定到它们各自的出口。

我有点卡住了,但是试图让 textview 显示_xmlContent. 我已经将 xcode 中的绑定设置为“委托”和关键路径xmlContent(也尝试过self.xmlContent和 _xmlContent 以及我能想到的所有变体)。

    @import <Foundation/Foundation.j>
    @import <AppKit/AppKit.j>

    @implementation AppController : CPObject
    {
        @outlet CPWindow    theWindow;
        @outlet CPTextView  codeView;

        CPString _xmlContent @accessors(property=xmlContent);
    }

    // ...

    @end

我现在收到的消息是:

CPUndefinedKeyException: <AppController 0x00a177> is not key value coding-compliant for the key xmlContent

如何使我的 AppController 键值编码符合键“xmlContent”?

4

1 回答 1

1

您的代码看起来正确。我自己重新创建了它,它对我来说很好用:

@implementation AppController : CPObject
{
    @outlet CPWindow    theWindow;

    CPString _xmlContent @accessors(property=xmlContent);
}

- (void)applicationDidFinishLaunching:(CPNotification)aNotification
{
}

- (void)awakeFromCib
{
    [theWindow setFullPlatformWindow:YES];
    [self setXmlContent:@"kitten"];

Xcode 设置显示委托绑定到 xmlContent

Safari 显示绑定工作

您应该验证您正在运行您认为正在运行的代码。这里的一个常见缺陷是一些网络浏览器真的很喜欢保留代码的缓存副本,因此请确保在您正在测试的任何浏览器中启用“禁用缓存”选项。

如果一切都失败了,请更改开发 HTTP 服务器的端口号并从新 URL 加载页面。这将强制浏览器获取所有内容的新副本(因为 URL 已更改)。

于 2016-12-14T18:44:28.307 回答