unrecognized selector sent to instanceエラーレポートまとめ

803 ワード

用途:エラー呼び出しのメソッド名に基づいてエラーの位置をすばやく推定し、あるオブジェクトが別のオブジェクトとして使用されている可能性があります.
エラー例:-[UIView setSelected:]: unrecognized selector sent to instance 0x7ff3f35b1070はuiviewをUIButtonとして誤って使用し、setSelectedを呼び出した可能性があります.
注意:PersonはNSObject -[Person length]: unrecognized selector sent to instance 0x7ff3f35b1070のエラーであり、id obj=[[person alloc]init]などのPersonをNSStringとして使用します.NSString *string = obj; string.length; -[Person count]: unrecognized selector sent to instance 0x7ff3f35b1070 Personは配列がid obj=[[person alloc]init]を使用すると誤って使用される.NSArray *array = obj; array.count; -[Person setObject:forKeyedSubscript:]: unrecognized selector sent to instance 0x7ff3f35b1070 PersonをNSMutableDictionaryとして誤って使用
法則:メソッド名にはSubscriptのメソッドが含まれており、一般的には集合のメソッド(辞書/配列など)