-(void) vPerformBlockOnAllAutoCompleteHandler:((^)(BGMotherofAutoCompleteHandler * acHandler))block
{
for (BGMotherofAutoCompleteHandler * acHandler in [self arBGKeywordAutoCompleteHandlers]) {
block(acHandler);
}
}
よし、block は BGMotherofAutoCompleteHandler を引数にとるブロックだ。ループを通過して、block(acHandler) を呼び出します。
どうしたの?
エラー: /business/Dropbox/badgers/BadgerNew/BGSearchController3.m:218:49: タイプが必要です。ブロックの前に void を追加する必要があるようです。
だからこれはうまくいく
-(void) vPerformBlockOnAllAutoCompleteHandler1:(void (^)(BGMotherofAutoCompleteHandler * acHandler))block
{
for (BGMotherofAutoCompleteHandler * acHandler in [self arBGKeywordAutoCompleteHandlers]) {
block(acHandler);
}
}
ただし、ブロックがパラメーターを必要としない場合は、そのボイドを追加する必要はありません。これはとても奇妙だと思いました。