我担心这个问题非常基本,但我认为这与很多进入数据块的Objective-C程序员有关。
我听到的是,由于块捕获作为const副本在其中引用的局部变量self,因此如果要复制该块,则在块内使用可能会导致保留周期。因此,我们应该使用__block强制块直接处理self而不是复制它。
__block typeof(self) bself = self;[someObject messageWithBlock:^{ [bself doSomething]; }];而不仅仅是
[someObject messageWithBlock:^{ [self doSomething]; }];我想知道的是:如果这是真的,有没有办法可以避免丑陋(除了使用GC)?
函数式编程
德玛西亚99
回首忆惘然
随时随地看视频慕课网APP