私のプロジェクトでは、ヘッダー ファイルで NSMutableDictionary プロパティを次のように宣言するという問題がありました。
@property (copy, nonatomic) NSMutableDictionary *DataDict ;
実装ファイルでは、このディクショナリを使用するため、次のように初期化します。
DataDict = [[NSMutableDictionary alloc]init];
これを行ったとき、この辞書に何かを追加しようとすると、次のエラーメッセージが表示されます。
-[__NSDictionaryI setObject:forKey:]: 認識されないセレクターがインスタンス 0x885ae60 2012-10-19 16:51:56.040 testing[2297:c07] に送信されまし たforKey:]: インスタンス 0x885ae60 に送信された認識されないセレクター
しばらくして、プロジェクトを何千回も実行した後、次のように初期化行のコメントを外すことにしました。
//DataDict = [[NSMutableDictionary alloc]init];
そしてそれは問題を修正しました。
私の質問は:なぜですか?