簡體   English   中英

iOS:針對筆尖的IBOutlet的ARC強引用或弱引用(用於自定義UITableviewCell)

[英]iOS: ARC strong or weak reference with IBOutlets for nibs (for custom UITableviewCell)

抱歉,是否已經有人問過這個問題,但我已經搜索過,但沒有找到針對我現在所遇到的具體情況的答案。

我在子類化UITableViewController 我沒有定制的筆尖。 我還實現了一個自定義的tableview cell ,它確實具有自己的自定義筆尖。 當我為該單元格創建出口時,是否應該創建弱引用? 因為它最終作為TableViewController的子視圖出現,所以我想是的,但是Apple文檔還注意到筆尖中的頂級對象應該很堅固,所以我很困惑。 任何幫助將不勝感激!

使用弱引用。 這是因為當您的視圖卸載時,如果該視圖較弱,則鏈接將自動設置為nil。

“ Apple文檔還注意到筆尖中的頂級對象應該堅固,所以我很困惑”

無論您使用的是哪種UIView子類,都是如此。 如果您的筆尖同時具有作為頂層對象的UITableViewCell和UIView IBOutlet,則UIView必須堅固。 如果UIView IBOutlet是筆尖中UITableViewCell的子視圖,則它應該是弱的。

您必須使用弱所有權。因為表視圖單元格對其父視圖有很強的引用,而您的父視圖對其子視圖有很強的引用

像這樣:

@property (weak, nonatomic) IBOutlet MyView *viewContainerSubview;
@property (strong, nonatomic) IBOutlet UIView *topLevelView;

如果您僅將單元格放置在tableviewxib外部(我敢肯定會這樣),則它必須是一個強大的參考,否則在您將其用於構造表之前,將釋放該單元格。

如果您在viewDidLoad使用它,則它可能仍然存在,但最好不要依賴以這種方式起作用的調用周期。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM