對不起,如果已經有人問我這個問題,但是我已經搜索了,但是我沒有找到答案, 。我的分類UITableViewController
。我沒有一個自定義的筆尖。我也有一個自定義tableview
cell
,我正在實施確實有它自己的自定義筆尖。當我爲這個單元格創建出口時,我應該創建一個弱引用?因爲它最終作爲TableViewController
的子視圖,我會認爲是的,但Apple文檔也指出,筆尖中的頂層對象應該很強壯,所以我很困惑。任何幫助將是appreicated!iOS:ARC用於筆尖的IBOutlets(用於定製UITableviewCell)的強或弱引用
回答
使用弱引用。這是因爲當你的視圖被卸載時,如果它很弱,鏈接將被自動設置爲零。
如果你把tableview
中的單元格放在xib
之外(我敢肯定你會這樣做),那麼它需要一個強大的引用,否則單元格會在你可以使用它之前被釋放構建表格。
可能如果您在viewDidLoad
中使用它,它仍然存在,但最好不要依賴以這種方式行事的呼叫週期。
「如果你把這個單元格放在xib之外的tableview中(我敢肯定你會)」。我假定你的意思是編程。我在調用tableView:cellForRowAtIndexPath時加載UITableViewCell nib:在那裏我根據需要配置單元格。 – jkratz 2012-02-27 02:35:09
這就是我的意思。如果你的引用很弱,那麼在代碼到達那個方法之前,單元會被自動釋放(或者我認爲它應該是)。 – 2012-02-27 03:34:43
「蘋果文檔還指出,在筆尖頂級的對象應該是很強的,所以我很困惑」
這是真實的,不管你用什麼UIView子類。如果你有一個帶有UITableViewCell和UIView IBOutlet的筆尖,都是頂級對象,那麼UIView需要很強大。如果UIView IBOutlet是你的UITableViewCell的一個子視圖,它應該很弱。
您必須使用弱ownership.Because你的表視圖細胞有很強的參考它的父視圖和你的父視圖,具有很強的參考它的子視圖
像這樣:
@property (weak, nonatomic) IBOutlet MyView *viewContainerSubview;
@property (strong, nonatomic) IBOutlet UIView *topLevelView;
- 1. 從筆尖製作UITableViewCell
- 2. 自定義UITableViewCells UITextField強或弱引用?
- 3. 弱引用和強引用
- 4. 強和弱引用
- 5. 有鑑於筆尖
- 6. 從筆尖使用UITableViewCell背景顏色
- 7. 強和弱IBOutlets之間的區別
- 8. iVars引用強,弱或什麼?
- 9. 我應該爲筆尖中的物體制作IBOutlets嗎?
- 10. 用筆尖定義UICollectionViewCell
- 11. 瞭解弱與強引用
- 12. 的Facebook SDK適用於iOS,fbDidLogin從未在多筆尖應用
- 13. 在iOS9下IBOutlets應該強還是弱?
- 14. Objecitive-C:是用於決定強/弱參考的聚合/合成
- 15. 子類的UITableViewCell有自己的筆尖
- 16. 筆尖原型的UITableViewCell的cellForRowAtIndexPath:
- 17. 如何加載自定義UITableViewCell而不使用筆尖名稱
- 18. 使用自己的筆尖和UITableViewCell的子類的TableViewCell設計
- 19. uitableviewcell筆尖中的依賴注入
- 20. xlform使用筆尖的自定義行
- 21. ARC的所有權與強,弱引用
- 22. 用筆尖泛型
- 23. Xcode 4.2「筆尖細胞重用標識符(Cell)與用於註冊筆尖的標識符(ThisCell)不匹配」
- 24. 用Swift創建子類UIView,用於筆尖
- 25. 由於循環引用不會調用弱引用回調
- 26. 弱引用或指針
- 27. 怎麼也得從筆尖自定義的UITableViewCell可重複使用
- 28. 如何從筆尖實例化UITableViewCell
- 29. 我不明白強和弱引用
- 30. UITableViewCell使用筆尖文件輕掃更改內容
的可能重複[IBOutlets應該在ARC下強還是弱?](http://stackoverflow.com/questions/7678469/should-iboutlets-be-strong-or-weak-under-arc) – Steve 2012-02-27 00:07:10
絕對是上述帖子的重複。 – Steve 2012-02-27 00:07:26
因爲它是一個tableview單元格的自定義筆尖,而不是UIViewController,我認爲這個問題有一些優點,不應該關閉。 – 2012-02-27 00:24:58