Objective c 什么';这个块格式化代码有什么问题?

Objective c 什么';这个块格式化代码有什么问题?,objective-c,Objective C,好的,所以block是一个以bgmotherofautocompletedhandler作为参数的块。我完成了循环和调用块(acHandler) 怎么了 错误是: /business/Dropbox/badgers/BadgerNew/BGSearchController3.m:218:49:应为类型。在我看来,我必须在块之前添加空白 所以这是有效的 -(void) vPerformBlockOnAllAutoCompleteHandler:((^)(BGMotherofAutoComplete

好的,所以block是一个以bgmotherofautocompletedhandler作为参数的块。我完成了循环和调用块(acHandler)

怎么了

错误是: /business/Dropbox/badgers/BadgerNew/BGSearchController3.m:218:49:应为类型。在我看来,我必须在块之前添加空白

所以这是有效的

-(void) vPerformBlockOnAllAutoCompleteHandler:((^)(BGMotherofAutoCompleteHandler * acHandler))block
{
    for (BGMotherofAutoCompleteHandler * acHandler in [self arBGKeywordAutoCompleteHandlers]) {
        block(acHandler);
    }
}
但是,如果块不需要参数,我不需要添加该空格。我觉得这很奇怪。

语法是:

-(void) vPerformBlockOnAllAutoCompleteHandler1:(void (^)(BGMotherofAutoCompleteHandler * acHandler))block
{
    for (BGMotherofAutoCompleteHandler * acHandler in [self arBGKeywordAutoCompleteHandlers]) {
        block(acHandler);
    }
}

谁说它有问题?编译器?如果是这样,告诉我们它在抱怨什么。是的,把错误贴出来。另外,什么是自动完成处理程序?向我们展示
typedef
。如果是块,您可能不希望
*
在那里。如果块包含参数,我需要添加void,但是如果块不需要参数,我也不需要。
- (void)vPerformBlockOnAllAutoCompleteHandler:(void(^)(BGMotherofAutoCompleteHandler*))block
{
 for (BGMotherofAutoCompleteHandler * at in [self arBGKeywordAutoCompleteHandlers]) {
  block(at);
 }
}