Вы, кажется, звоните release
слишком много раз о чем-то. Добавьте следующий код чуть выше этой строки:
for (NSString *key in mymutabledict) {
NSLog(@"Key %@ maps to %@.", key, [mymutabledict objectForKey:key]);
}
NSLog(@"About to add %@", myclassobj);
NSLog(@" with key %@", myclassobj.myname);
... и найдите сбойный объект.
Ключи копируются, а не сохраняются, когда объекты добавляются в объект NSDictionary / NSMutableDicitonary. Если вы извлекаете ключи из словаря и отпускаете их (например, вызываете [key release]
в приведенном выше коде или для строковых объектов, полученных с помощью [mymutabledict allKeys]
), это может сделать это.