私は仕事に就こうとしてきNSNotification
ました。テストのために、storyBoards を使用して新しい viewController をロードするボタンが必要でした。ボタンをクリックすると、appObserver が 2 番目の ViewController (Page2 という名前を付けました) で取得するための通知がトリガーされます。Page2 では、NSNotificationCenter
メソッド (myMethod:) を起動し、単純なNSLog
. 残念ながら、myMethod が呼び出されないため、機能しません。私は何を間違っていますか???
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (IBAction)goToPage2Button:(id)sender {
[[NSNotificationCenter defaultCenter] postNotificationName:@"test" object:nil];
}
#import "Page2.h"
@interface Page2 ()
@end
@implementation Page2
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(myMethod:) name:@"test" object:nil];
}
return self;
}
-(void)myMethod:(NSNotification *)notification{
if ([[notification name] isEqualToString:@"test"])
NSLog (@"Successfully received the test notification!");
}