バックグラウンドで画像をアップロードするために NSOperationQueue を使用しています。画像がアップロードされると、データを保存するために使用している URL とこの画像 URL が返されます。このコードを使用していますが、最初の操作の実行から URL が取得されるまで待機していません。
PostScrapPicture メソッドが実行されない限り、および実行されるまで postScrap が実行されないようにしたいのですが、OperationQueue.WaitUntilAllOperationsAreFinished(); を使用しています。このためですが、実行されていません。
最初の操作:
Action asyncUploadAction = () => {
OperationQueue.AddOperation(()=>{
PostScrapPicture (ownerUserId,scrapImage,serviceSuccessAction, serviceErrorAction);} );
} ;
2 番目の操作:
if (OperationQueue!=null) {
OperationQueue.WaitUntilAllOperationsAreFinished();
if (!String.IsNullOrEmpty (scrapbook.Picture.Url))
PostScrap (scrapbook, serviceSuccessCallback, erviceErrorCallback);
else
errorAction (true);
}