ios阻止w / self =无限循环

时间:2012-03-21 18:37:32

标签: ios objective-c-blocks

我正在尝试

__weak UIButton *ptr = self.backBtn;
self.footer.defaultSelectedItem.selectionBlock = ^{
    [ptr sendActionsForControlEvents:UIControlEventTouchUpInside];
};

我的代码无论如何都会无限循环。

我已经提到过:

没有有希望的结果。我的程序仍然挂起,然后一分钟xcode在内存不足时转出一个巨大的循环周期。我该怎么办?

修改

我应该也指出我正在使用Automatic Reference Counting (ARC)

1 个答案:

答案 0 :(得分:1)

让你的块有一个标志告诉它不要执行:

 __block BOOL flag = NO;
 .... = ^{
      if (flag) return;

      flag = YES;
      // rest of block code here.
      flag = NO;
};