ここには少し欠けている情報があります。B を構築するときのように、 A も構築しますか?
これを行う必要はありますか?B が正常に完了したときに A を構築しないのはなぜですか?
B から A への 1 対 1 の依存関係である場合は、デリゲート プロトコルを使用できます。
@protocol DependantOperationCompletion <NSObject>
-(void)operationDidFail;
@end
@interface BOperation
@property (weak) id<DependantOperationCompletion> delegate;
@end
と
@interface AOperation:NSOperation <DependantOperationCompletion>
...
@end
次に、操作を構築するときに、AをBのデリゲートとして設定します
bOpInstance.delegate = aOpInstance;
または、「窓の外に叫ぶ」アプローチを使用し、B が失敗した場合は通知を投稿します。A は通知をリッスンします。
B内...
-(void)handleFailure
{
[[NSNotificationCenter defaultCenter] postNotificationName:BTypeOpDidFailNotification object:self userInfo:someInfoOrNil]
}
以内...
-(void)setupWithBOp:(BOperation *)binstance
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(ohNoBHazFailed:) name:BTypeOpDidFailNotification object:binstance];
}
オブザーバーとして A を削除することを忘れないでくださいdealloc