addObserver forKeyPath options 注意事项

[self.layer addObserver:self forKeyPath:@"cornerRadius" options:NSKeyValueObservingOptionNew context:nil];spa

添加一个监听server

在运行过程当中可能出现错误rem

EXC_BAD_ACCESSit

这是由于没有在dealloc中removeObserver的问题io

可是有时不肯定一个监听有没有添加时,class

在dealloc进行removeObserver时又会报exception

because it is not registered as an observer.di

这是由于穿点监听没有添加vi

但IOS不提供addObserver是否添加的判断功能co

因此这里最好写为

@try

{

[self.layer removeObserver:self forKeyPath:@"cornerRadius"];

}

@catch(id exception){}

相关文章
相关标签/搜索