Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ios块w/self=无限循环_Ios_Objective C Blocks - Fatal编程技术网

ios块w/self=无限循环

ios块w/self=无限循环,ios,objective-c-blocks,Ios,Objective C Blocks,我正在努力 __weak UIButton *ptr = self.backBtn; self.footer.defaultSelectedItem.selectionBlock = ^{ [ptr sendActionsForControlEvents:UIControlEventTouchUpInside]; }; 无论如何,我的代码中有一个无限循环 我已经提到: 没有什么好结果。我的程序仍然挂起,一分钟后,一旦内存耗尽,xcode就会抛出一个巨大的循环周期。我该怎么办

我正在努力

__weak UIButton *ptr = self.backBtn;
self.footer.defaultSelectedItem.selectionBlock = ^{
    [ptr sendActionsForControlEvents:UIControlEventTouchUpInside];
};
无论如何,我的代码中有一个无限循环

我已经提到:

没有什么好结果。我的程序仍然挂起,一分钟后,一旦内存耗尽,xcode就会抛出一个巨大的循环周期。我该怎么办

编辑


我还应该指出,我正在使用
自动引用计数(ARC)

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

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

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

似乎是一个解决问题的办法。但这是一项工作,所以我会接受+1.