2016-06-17 6 views
0

NSOperationから文字列を設定する必要がありますが、操作が完了したかどうかをどのように知ることができますか?私が設定したブレークポイントに当たっていないか、NSOperationを正しく呼んでいないのですか?はいの場合、私はどのように私の操作を呼び出す必要がありますか?NSOperation操作が完了したかどうかを知るには?

はここ

- (void)operationDidFinish:(MJOperation *)operation 
{ 
NSString *strng = [MJUtilities decodedStringFromXMLData:operation.receivedData]; 

mainString = [NSString stringWithFormat:mainString, strng]; 

} 

は、今私はあなたのNSOperationcompletionBlockプロパティを設定しmainString

+1

'stringWithFormat'ラインは意味がありません。このような何かを試してみてくださいhttps://developer.apple.com/library/mac/documentation/Cocoa/Reference/NSOperation_class/#//apple_ref/occ/instp/NSOperation/completionBlock

は、詳細はNSOperationマニュアルを参照してください。操作をどこに投稿しますか?どのようにしてオペレーションは 'operationDidFinish'を呼び出しますか? – Paulw11

+0

私の投稿を編集しました。それは事です、私はoperationDidFinishをどのように呼び出すのか分かりません。しかし、私は私のテーブルの中で自分のセルをクリックした後にmainStringを取得する必要があります。 – drbj

+0

あなたの操作の 'finished'プロパティをKVO観測のどこかに設定しましたか? – Paulw11

答えて

2

の値を取得する必要があります私のコードです。操作が終了すると、completionBlockが呼び出されます。

__block NSString *mainString; 

... 

myOperation.completionBlock = ^{ 
    NSString *strng = [MJUtilities decodedStringFromXMLData:myOperation.receivedData]; 
    mainString = [NSString stringWithFormat:mainString, strng]; 
    // here you should do something with mainString 
}; 
関連する問題