私は iPhone の開発に不慣れで、非常に簡単な答えが得られるかもしれない質問があります。ビューにボタンを追加しようとしていますが、これらのボタンは定義したカスタム クラスに関連付けられています。ビューにボタンを追加するとき、これらのボタンが対応するクラスを知りたいです。これは、ボタンを押すときにクラスに関する情報を取得する必要があるためですが、メッセージの受信者は別のクラスです。Web 上で発生しているエラーに関する情報を見つけることができませんでした。私が抱えている問題は、キーが UIButton* 型で値がカスタム型である NSMutableDictionary を作成しようとしていることです:
// create button for unit
UIButton* unitButton = [[UIButton alloc] init];
[sourceButtonMap setObject:composite forKey:unitButton];
もちろん、sourceButtonMap はクラスで定義され、init 関数で次のように初期化されます。sourceButtonMap = [[NSMutableDictionary alloc] init];
キーと値のペアを追加しようとすると、次のエラーが表示されます。
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[UIButton copyWithZone:]: unrecognized selector sent to instance 0x3931e90'
UIButton* をキーとして保存できないため、これが発生していますか? このエラーが発生する理由を教えてもらえますか? 皆さん、ありがとうございました、
ああ