调用阻止iOS

Mat*_*der 5 objective-c nsinvocation ios objective-c-blocks

我尝试调用一些块,但我遇到了一个EXC_BAD_ACCESS.

-(void) methodA {
   self.block = ^ {
       [self methodB];
   };
}

-(void) webViewDidFinishLoad:(UIWebView *)webView {
       [block invoke]; // error here (block is not valid id type).
}

-(void)methodB {
    //do something
}
Run Code Online (Sandbox Code Playgroud)

有关为什么会发生这种情况的任何想法?

小智 15

如果你想调用块你可以简单地这样做block();而不是[block invoke];

有关更多详细信息,请参阅块编程主题


mur*_*rat 9

在声明块属性时应使用copy属性.喜欢:

@property (nonatomic, copy)   id block;
Run Code Online (Sandbox Code Playgroud)