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){}

相關文章
相關標籤/搜索