理解弱与强参考

时间:2012-12-04 17:00:47

标签: objective-c ios reference

  

可能重复:
  Differences between strong and weak in objective-c

假设我有一个显示模型对象数据的tableview。如果我在我的UITableViewController声明...

@property (strong, nonatomic) NSArray *modelObject;

如果我将此数组传递给segue中的另一个视图控制器属性,是否应在目标视图控制器中声明weak

1 个答案:

答案 0 :(得分:1)

在这种特殊情况下,要么应该有效。

如果属性可以将strong循环引用保存回引用对象,则

strong会出现问题。我认为这是一种可能性,但假设控制器不被视为数据,则不太可能。由于您的启动控制器将在目标控制器的生命周期内保持在strong引用,因此在目标中具有weak属性也应该没问题。

我可能选择strong的一个原因是随着应用的发展而对问题提供保障。如果目的地有可能有一天从其他来源收到modelObject,您是否会记得提供商必须有强大的参考?