我在这里有一种情况,我希望用一个弱的引用属性来强制一个强大的属性。我的班级看起来像这样;
@interface MyClass()
@property(nonatomic, strong) Man *man;
@property(nonatomic, strong) Women *women;
@property(nonatomic, weak) Person *passedPerson
@end
我每次都将这个对象传递给新的视图控制器,有时我会传递男人,而有些时候我会传递女性,但是我总是跟踪弱引用中传递的对象,即。 passedPerson。 现在,当viewcontroller返回时,基于当前传递的对象,我想通过弱引用指针nil它。它甚至可能吗?这不是我的确切情况,但我有很多像这样的对象,当我在呈现视图控制器中完成它们时需要填写。怎么办呢?
答案 0 :(得分:1)
当您需要打破参考周期时,使用弱引用。在您显示的示例中,没有参考周期。但我认为你想保留passedPerson
。
您可以对man
和women
使用弱引用,并在passedPerson
上保留强引用。然后,当你完成它们时,你可以将passedPerson
弄清楚。