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