NSNotification-iOS初学

NSNotification

基本使用方法:

监听系统字体改变。
-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(preferredFontsChanged)
                                                 <span style="color:#ff6666;">name:UIContentSizeCategoryDidChangeNotification</span> object:nil];
}

-(void)preferredFontsChanged:(NSNotification *)notification
{
    [self usePreferredFonts];
}

-(void)usePreferredFonts
{
    self.body.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
}



结束收听后要关闭收听。

原因:通知中心始终用一个不安全指针指向你。如果没有结束收听就离开了堆,通知中心会发试着向你发一个通知,然后程序崩溃。

 
-(void)viewWillDisappear:(BOOL)animated
{
[[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:UIContentSizeCategoryDidChangeNotification
                                                  object:nil];
}

自定义监听动作

//定义
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(doSomething)
                                             name:@"自定义"
                                           object:nil];

//调用
[[NSNotificationCenter defaultCenter] postNotificationName:@"自定义" object:self];

你可能感兴趣的:(Objective-C)