Xcode NSTextview子类:绑定不起作用

Xcode NSTextview子类:绑定不起作用,xcode,cocoa,binding,subclass,nstextview,Xcode,Cocoa,Binding,Subclass,Nstextview,我有一个子类NSTextView,它的“value”属性绑定到CoreData模型中的字符串。我在IB中设置了这个,它工作得很好 现在我想以编程方式更改绑定,如下所示: [_myView bind:@"value" toObject: _myArrayController withKeyPath:@"selection.myString" options:nil]; NSLog(@"%@",[_myView exposedBindings]); 对于普通的NSTextView来说,这是没有问

我有一个子类NSTextView,它的“value”属性绑定到CoreData模型中的字符串。我在IB中设置了这个,它工作得很好

现在我想以编程方式更改绑定,如下所示:

[_myView bind:@"value" toObject: _myArrayController withKeyPath:@"selection.myString" options:nil];
NSLog(@"%@",[_myView exposedBindings]);
对于普通的NSTextView来说,这是没有问题的,但对于我的子类来说不是

所以我在谷歌上搜索了一会儿,但没有找到解决办法。然后我发现:当我检查appController中NSTextView子类的公开绑定时,如下所示:

[_myView bind:@"value" toObject: _myArrayController withKeyPath:@"selection.myString" options:nil];
NSLog(@"%@",[_myView exposedBindings]);
我得到“(空)”。如果我把这个命令

NSLog(@"%@",[self exposedBindings]);
在我的NSTextView子类中的任何方法中,我都会得到一个包含所有可用绑定的数组,包括“value”。似乎绑定在某个时候丢失了,或者我无法从AppController访问它们


这怎么可能?有什么想法吗?

如果你只是从你的应用程序控制器中记录我的视图,它会返回你期望的结果吗?如果我输入NSLog(@“%@”),我会得到(null)。当我对UI中的另一个NSTextView执行相同操作时,我会得到一组值,如frame、bounds、。。。奇怪的是,只要我用IB配置绑定,它就可以正常工作。我甚至不能通过编程解除绑定任何东西。同样,如果我在我的子类的一个方法中键入等价的,那么日志会起作用。为_myView获取null意味着,要么它已被解除分配(因为您没有对它的强引用),要么您没有在appController中正确连接某些东西。在appController中,什么是_myView?它是指向视图的IBOutlet,还是在appController中为视图类的实例分配了init?\u myView是指向我的视图的IBOutlet。我对前面提到的另一个NSTextView有相同的设置(IBOutlet)——可以记录的设置。请确保正确连接。如果为空,则不应返回null。