理解弱引用与强引用

10 浏览
0 Comments

理解弱引用与强引用

假设我有一个显示模型对象数据的表格视图。如果我在UITableViewController中声明...

@property (strong, nonatomic) NSArray *modelObject;

如果我在一个segue中将这个数组传递给另一个视图控制器属性,那么在目标视图控制器中应该声明为weak吗?

0
0 Comments

在这种情况下,两种引用方式都可以使用。

如果属性可以持有一个 strong 循环引用返回到引用对象,则 strong 会有问题。我想在这种情况下可能存在这种可能性,但是假设控制器不被当作数据处理,这种可能性不大。由于您的初始控制器将保持存在并在目标控制器的生命周期内保持 strong 引用,因此在目标控制器中具有弱引用属性也应该是可以的。

我选择 strong 的一个原因是作为应用程序发展的保险。如果目标可能在将来从其他来源接收其 modelObject ,您是否会记得提供者必须具有 strong 引用?

0