プライベート ライブラリから、このようなブロック関数を使用していますが、実際にどのように作成されているのかわかりません。彼らはどのように私のクラスに戻り、ブロックを実行しますか?
ImAnotherClass *sameObj = [[ImAnotherClass alloc] init];
[sameObj testFunctionWithBlock:^(BOOL success, NSError *error)
{
if(!error)
NSLog(@"you'll only read this, once test function was done!");
}];
[sameObj release];
ここで注目すべき点は、test
関数が実行を完了するのにかなりの時間 (分単位) がかかる可能性があることですが、ブロック内の行を完全に出力することです! 私の関数でさえすでに実行されています。