我有一個NSViewController
管理NSTableView
,發現NSViewController
有representedObject
性質,但它不是一個IBOutlet,我不能約束的NSTableView
的dataSource
到的NSViewController
的representedObject
財產界面構建器。 representObject屬性如何被假設使用?有沒有正確使用的例子?NSViewController的正確使用representedObject
回答
representedObject
屬性應該設置爲位於nib之外的對象,例如文檔,其他模型控制器或模型對象。筆尖上的東西應該從VC或VC的representedObject
獲得數據。
我知道這是一個古老的話題,但我想我會加入它,因爲我對representObject做了相當多的研究。希望這可以幫助!
representedObject
是視圖應該表示的一些AnyObject
(NSObject
)的引用。
它不是對象的副本,而是它的一個引用(無論是在斯威夫特和Objective-C)
在理想情況下,如果有問題的觀點是頁面出了「聯繫人應用程序」。該頁面represents a contact
然後通過實例化它的對象將代表的對象應該設置爲fooContact
。 fooContact
是對相關聯繫人實例的引用。
它不必由實例化類來設置,但是我個人覺得它更清晰。
我一般避免試圖覆蓋representedbject的默認getter/setter方法和在類即
weak var document: Document{
if let docRef = self.representedObject as Document {
return docRef
}
return nil
}
由另一變種引用它保持弱引用將避免參考週期。
你不能像這樣使用弱引用,你不能返回所有的代碼都可以被扣除,以返回representationObject到文檔?weak var document:Document?{ returnrepresentObject as?Document } – Andy 2015-08-30 13:06:40
- 1. 正確版本嵌入在子視圖中的NSViewController
- 2. 我應該使用NSViewController嗎?
- 3. QuickLook使用者作爲NSViewController的委託
- 4. NSViewController中的firstResponder
- 5. NSViewController中的NSScrollView
- 6. 在自定義視圖中使用NSViewController
- 7. 如何識別modalForWindow使用NSViewController
- 8. 綁定NSViewController的representObject
- 9. 使用$ @正確
- 10. 正確使用
- 11. 正確使用「
- 12. 正確使用
- 13. 正確使用
- 14. 正確使用
- 15. 正確使用
- 16. NSBundle加載NSViewController
- 17. UIViewController vs NSViewController
- 18. NSViewController未發佈
- 19. NSViewController和綁定
- 20. IBOutlets在NSViewController
- 21. setAction:在NSViewController中
- 22. NSViewController viewWillAppear cocoa
- 23. Cocoa:用nib加載NSViewController
- 24. NSViewController禁用調整大小
- 25. 如何從另一個NSViewController中包含的NSViewController訪問NSView
- 26. 正確使用ios
- 27. 正確使用SSHTunnel
- 28. 正確使用Marshal.Copy
- 29. 正確使用AsyncTask?
- 30. 正確使用flatMap
嗯,從由nib初始化的對象中獲取對ViewController的引用的最佳方式是什麼? (換句話說,你如何從文件的內部代碼獲取文件的所有者? – Tony 2011-12-27 01:58:08
@Tony:通過連接插座或設置綁定,爲他們提供參考。 – 2011-12-27 02:28:07