今日、完全にブレインファーティングをしているのか、それとも何なのかわかりません。しかし、基本的には、使用するNSMutableDictionaryを初期化しようとしています。私はそれをプロパティとして持っています:
@property (nonatomic, retain) NSMutableDictionary *baseViewDictionary;
.mファイル内:
@synthesize baseViewDictionary;
// in the init method:
NSMutableDictionary *tempDict = [[NSMutableDictionary alloc] initWithCapacity:0];
self.baseViewDictionary = tempDict;
[self.baseViewDictionary setObject:@"test" forKey:[NSNumber numberWithInteger:0]];
[tempDict release];
これは、NSMutableDictionaryを初期化するために使用されるパターンだと思いました。残念ながら、私のself.baseViewDictionaryは設定されません。私のtempDictには、デバッガーに表示される1つのキーと値のペアがありますが、self.baseViewDictionaryには0x0000000があります。だからそれは
self.baseViewDictionary = tempDict;
実行されることはありません。そのコード行に足を踏み入れると、@ synthesize baseViewDictoinaryにジャンプして、その行に戻りますself.baseViewDictionary=tempDict
。
setObject@"test"
これは、実行後のデバッガーの図です。