很抱歉,如果已经提出这个问题,但我已经搜索过,并且没有找到我现在发现自己的具体案例的答案。
我是UITableViewController
的子类。我没有自定义笔尖。我还有一个自定义tableview
cell
,我正在实现 拥有自己的自定义笔尖。当我为这个单元格创建插座时,我应该创建一个弱引用吗?因为它最终成为TableViewController
的子视图我会认为是,但Apple文档也注意到笔尖中的顶级对象应该很强,所以我很困惑。任何帮助都会得到帮助!
答案 0 :(得分:1)
使用弱引用。这是因为当您的视图被卸载时,如果它很弱,链接将自动设置为nil。
答案 1 :(得分:0)
如果你将单元格放在tableview
之外xib
(我很确定你会这样),那么它需要是一个强引用,否则单元格将是在你可以用来构建表格之前发布。
如果你在viewDidLoad
中使用它,它仍然存在,但最好不要依赖于以这种方式行事的呼叫周期。
答案 2 :(得分:0)
“Apple文档还注意到笔尖中的顶级对象应该很强,所以我很困惑”
无论你使用什么UIView子类,都是如此。如果你有一个带有UITableViewCell和UIView IBOutlet的笔尖,它们都是顶层对象,那么UIView需要很强大。如果UIView IBOutlet是笔尖中UITableViewCell的子视图,它应该很弱。
答案 3 :(得分:0)
您必须使用弱所有权。因为您的表格视图单元格强烈引用它的父视图,并且您的父视图强烈引用它的子视图
像这样:
@property (weak, nonatomic) IBOutlet MyView *viewContainerSubview;
@property (strong, nonatomic) IBOutlet UIView *topLevelView;