- 如果給一個
id對象發(fā)送消息,如果消息接受者沒有對應(yīng)的方法,則在運行時就會崩潰。因此在發(fā)消息前進(jìn)行判斷:
錯誤示范:
CZPerson *person = [array firstObject]; // firstObject返回的是id類型
[person cool];
正確示范:
id person = [array firstObject]; // firstObject返回的是id類型
if ([person isKindOfClass:[CZPerson class]]) {
CZPerson *czperson = (CZPerson *)person;
[czperson cool];
}
- 重寫
setter方法時,可以對set的值進(jìn)行判斷,如果不符合要求,不給變量賦值。