假设我有一个显示模型对象数据的tableview。如果我在我的UITableViewController声明...
@property (strong, nonatomic) NSArray *modelObject;
如果我将此数组传递给segue中的另一个视图控制器属性,是否应在目标视图控制器中声明weak
?
答案 0 :(得分:1)
在这种特殊情况下,要么应该有效。
如果属性可以将strong
循环引用保存回引用对象,则 strong
会出现问题。我认为这是一种可能性,但假设控制器不被视为数据,则不太可能。由于您的启动控制器将在目标控制器的生命周期内保持在strong
引用,因此在目标中具有weak
属性也应该没问题。
我可能选择strong
的一个原因是随着应用的发展而对问题提供保障。如果目的地有可能有一天从其他来源收到modelObject
,您是否会记得提供商必须有强大的参考?