我有一个NSViewController
管理 aNSTableView
并注意到它NSViewController
有一个representedObject
属性,但是它不是 IBOutlet 并且我无法将dataSource
of绑定到界面生成器NSTableView
的representedObject
属性。NSViewController
应该如何使用代表对象属性?有正确使用的例子吗?
问问题
5681 次
2 回答
4
该representedObject
属性应设置为位于 nib 之外的对象,例如文档、另一个模型控制器或模型对象。nib 中的东西应该从 VC 或 VC 中获取数据representedObject
。
于 2011-12-27T00:49:25.140 回答
1
我知道这是一个老话题,但我想我会添加它,因为我对代表对象进行了相当多的研究。希望这可以帮助!
representedObject
是对视图应该表示的某些AnyObject
( ) 的引用。NSObject
它不是对象的副本,而是对它的引用(在 Swift 和 Objective-C 中)
理想情况下,如果有问题的视图是“联系人应用程序”的页面。这个页面represents a contact
然后表示对象应该fooContact
由实例化它的对象设置。fooContact
作为对相关联系人实例的引用。
它不必由实例化类设置,但我个人发现它是一种更清洁的方法。
我通常避免尝试覆盖所代表对象的默认 getter/setter 并由类中的另一个 var 引用它,即
weak var document: Document{
if let docRef = self.representedObject as Document {
return docRef
}
return nil
}
保持弱参考将避免参考循环。
于 2015-08-08T02:26:53.090 回答