次のことを正しく行う方法を知りたい: オブジェクトを返すメソッドがありNSDataます。NSDataからオブジェクトを取得しますUIDocument。オブジェクトは大きくなる可能性があるため、応答が開始される前にNSDataオブジェクトが完全にロードされていることを確認したいと考えています。したがって、ブロック自体からメソッドの値を返したいと思います。だから、このようなもの:
- (NSData*)getMyData {
MyUIDocument *doc = [[MyUIDocument alloc] initWithFileURL:fileURL];
[doc openWithCompletionHandler:^(BOOL success) {
if (success) {
return doc.myResponseData; // this is to be the return for the method not the block
}
}];
}
returnは明らかに の を参照しているblockため、これによりエラーが発生しますreturn。
スレッドをブロックする wait/while ループを作成せずにこれを達成するにはどうすればよいですか?
ありがとう。