ヘッダー ファイルにこれらの宣言があります:
注: コード全体については説明しませんが、理解しやすいと思います。
typedef void (^loopCell)(id cell);
-(id)allCells:(loopCell)cell;
そしてallCells関数の実装:
-(id)allCells:(loopCell)cell
{
for (AAFormSection *section in listSections)
{
for (id _cell in section.fields) {
cell(_cell);
}
}
return nil;
}
allCells関数の使用法:
-(void)setFieldValue:(NSString *)value withID:(int)rowID
{
[self allCells:^(id cell) {
if([cell isKindOfClass:[AAFormField class]]) {
AAFormField *_cell = (AAFormField *)cell;
if(_cell.rowID == rowID) {
_cell.value = value;
//return; Here I want to terminate loop
}
}
}];
}
私の問題は、途中で allCells ループを終了できないことです(実際、ループで必要なオブジェクトを見つけたときに、他のオブジェクトを反復処理したくありません)
allCells ループを途中で停止するにはどうすればよいですか?