首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确使用NSViewController representedObject

正确使用NSViewController representedObject
EN

Stack Overflow用户
提问于 2011-12-27 05:34:29
回答 2查看 5.6K关注 0票数 8

我有一个管理NSTableViewNSViewController,并注意到NSViewController有一个representedObject属性,但它不是一个IBOutlet,并且我无法在接口构建器中将NSTableViewdataSource绑定到representedObjectNSViewController属性。representedObject属性应该如何使用?有没有正确用法的例子?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-27 08:49:25

representedObject属性应设置为位于半边之外的对象,例如文档、另一个模型控制器或模型对象。nib中的东西应该从VC或VC的representedObject中获取数据。

票数 4
EN

Stack Overflow用户

发布于 2015-08-08 10:26:53

我知道这是一个古老的话题,但我想我应该补充一下,因为我对representedObject做了相当多的研究。希望这能有所帮助!

representedObject是对视图应该表示的某个AnyObject (NSObject)的引用。

它不是对象的副本,而是对它的引用(在Swift和Objective-C中)

理想情况下,如果有问题的视图是“联系人应用程序”的页面。这个页面represents a contact,然后representedObject应该被实例化它的对象设置为fooContactfooContact是对有问题的联系人实例的引用。

它不一定要由实例化类来设置,但我个人发现它是一种更简洁的方法。

一般情况下,我会避免尝试重写representedbject的默认getter/setter,并通过类中的另一个var引用它。

代码语言:javascript
复制
weak var document: Document{
    if let docRef = self.representedObject as Document {
        return docRef
    }
    return nil
}

维护弱引用将避免引用循环。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8639263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档