postNotificationName:オブジェクト:userInfo:
基本的に、オブザーバーはその userInfo をどのように取得しますか?
全体を示す短いサンプル コードはどこかにありますか?
postNotificationName:オブジェクト:userInfo:
基本的に、オブザーバーはその userInfo をどのように取得しますか?
全体を示す短いサンプル コードはどこかにありますか?
#import <Foundation/Foundation.h>
#define kSomeKey @"key"
#define kNotificationName @"MyMadeUpNameNotification"
@interface Test : NSObject
@end
@implementation Test
-(void) handleNotification:(NSNotification*)notification {
NSString *object = [notification.userInfo objectForKey:kSomeKey];
NSLog(@"%@",object);
}
-(void) run {
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(handleNotification:)
name: kNotificationName
object: nil];
NSString *anyObject = @"hello";
NSDictionary *userInfo = [NSDictionary dictionaryWithObject:anyObject forKey:kSomeKey];
NSNotification *notification = [NSNotification notificationWithName:kNotificationName object:nil userInfo:userInfo];
[[NSNotificationCenter defaultCenter] postNotification:notification];
}
@end
int main(int argc, char *argv[]) {
@autoreleasepool {
[[Test new] run];
}
}
基本的に、オブザーバーはその userInfo をどのように取得しますか?
NSNotification クラス参照を参照してください。userInfo
NSDictionary であるプロパティがあります。