在使用块时仍然试图获得保留周期的挂起。 我的问题是......以下哪一项(如果有的话)会导致保留周期?
[self.someProperty runSomeBlock:^{
[self.someOtherProperty doSomething];
}];
[self.someProperty runSomeBlock:^{
[self doSomething];
}];
[self.someProperty runSomeBlock:^{
[someObject runAnotherBlock:^{
[self.someProperty doSomething];
}];
}];
[self.someProperty runSomeBlock:^{
[someObject runAnotherBlock:^{
[self.someOtherProperty doSomething];
}];
}];
谢谢!
答案 0 :(得分:1)
换句话说,它与总是导致保留周期的基本事物没有什么不同:A保留B但B保留A.但在您的代码中,我看不到任何人保留任何人的证据。< / p>
在任何情况下,如果所有对象只是在交给他们时立即执行他们的块,那么首先没有什么可担心的,因为它只有持久性那就是问题。
听起来你只是过度思考这个问题。