Yas*_*man 1 xcode cocoa objective-c cocoa-bindings
我试图对Cocoa Bindings有一个基本的了解,我想创建一个非常简单的项目.我有一个类Person有变量name的类NSString.以下是我希望工作的方式:
Person类的实例中.Person类)的标签会根据实例的name变量自动更改其值Person.我花了几个小时阅读各种教程和Apple Mac Developer Library,但每个例子都只展示了如何让Cocoa Bindings与表一起工作.当我尝试开发更简单的东西时,我觉得我完全迷失了.我创建了一个基础项目,剩下的唯一事情就是创建所有绑定.我很乐意为我提供所有的联系,希望能给我一个解释.https://www.dropbox.com/sh/6hddfxyitqp6uoc/AACgaRhKBhLo6EXCVN9W6GQua?dl=0 该项目是一个基于文档的应用程序,因为我将开发这种类型在未来的应用程序.
您的项目不起作用有几个原因让我们重新开始并创建最简单的Cocoa绑定示例.
Prepares Content上.Value到对象控制器:绑定到Object Controller,控制器键selection和模型键路径name.Value到Object ControllerController Key selection和Model Key Path name.控制器自动NSMutableDictionary为每个键创建一个符合KVO 的实例.更改文本字段的内容时,文本字段调用的绑定setValue:@"New Contents" forKey:@"name".这将通知Label的绑定并更新Label.
为什么你的项目不起作用:
[<Document 0x618000100750> valueForUndefinedKey:]: this class is not key value coding-compliant for the key name..删除此连接.name而不是ivar 来修复.您不必使用setValue:forKey:在代码中更改名称,person.name = [field stringValue]没关系.init在文档的方法中设置.这太早了,xib尚未加载且控制器不存在.设置内容windowControllerDidLoadNib.而不是addObject我会使用,setContent但addObject应该工作.