私は目的cに割り込み可能なフックを作成する必要があります。割り込み可能なフックは、いずれかのフックコールバックが操作を中断した場合、操作を中止する機能を持つ必要があります。私はそのようなためNSNotificationCenter
を使用するのではと思った:通知のユーザー情報を変更することが許可されました
NSMutableDictionary *userInfo = [NSMutableDictionary dictionary];
[userInfo setObject: [NSNumber numberWithBool: NO] forKey: @"interrupted"];
[notificationCenter postNotificationName: @"Operation A will happen"
object: self userInfo:userInfo];
if(![[userInfo objectForKey: @"interrupted"] boolValue])
{
[self doOperationA];
}
とフック側の
-(void) operationAWillHappen: (NSNotification *) note
{
if(someCondition)
[(NSMutableDictionary *)note.userInfo setObject:
[NSNumber numberWithBool: YES] forKey: @"interrupted"];
}
私はそのようなユーザー情報を変更させて頂いておりますか!客観的なCで割り込み可能なフックを実装する良い方法はありますか?