譬如:
@property BOOL isEditable;
-(void) setIsEditable:(BOOL)isEditable;
-(void) setIsEditable:(BOOL)tmpIsEditable{
self.isEditable = tmpIsEditable;
//something else
...
}
这样写会出现
exc_bad_access
因为
-(void) setIsEditable:(BOOL)tmpIsEditable{
self.isEditable = tmpIsEditable;
//something else
...
}
实际上是一个自递归,会造成无限递归
因为
self.isEditable = tmpIsEditable;</strong>
中的self.isEditable = xxx;实际上就是调用
-(void) setIsEditable:(BOOL)isEditable;
来实现的。
正确应该改成
-(void) setIsEditable:(BOOL)tmpIsEditable{
_isEditable = tmpIsEditable;
//something else
...
}