Получил этот код в моих контроллерах (void) метод viewDidLoad
self.purchasesPerClassification = [NSMutableDictionary
dictionaryWithObjects:[NSArray arrayWithObjects:@"Moo",nil]
forKeys:[NSArray arrayWithObjects:@"MooKey",nil]
];
насколько я понимаю, это автоматическое освобождение, так как я не использовал alloc init,
и в моей сделке у меня есть
[self.purchasesPerClassification release];
это часть контроллера с UITableViewController, и этот контроллер создается загруженным из основного контейнера и добавляется в главные контроллеры navigationController. Это, кажется, приводит к сбою моего приложения в симуляторе, так как, когда у меня его нет в коде, он работает хорошо любые указатели на то, почему это сбой
вот .h
@interface FirstAiderInsurancePurchasesViewController : UITableViewController {
NSArray * availableClassifications;
NSMutableDictionary * purchasesPerClassification;
}
@property(nonatomic, retain) NSArray * availableClassifications;
@property(nonatomic, retain) NSMutableDictionary * purchasesPerClassification;
@end
и вот части .m
@implementation FirstAiderInsurancePurchasesViewController
@synthesize availableClassifications;
@synthesize purchasesPerClassification;
- (void)viewDidLoad {
[super viewDidLoad];
self.availableClassifications = [NSMutableArray arrayWithObjects:@"Completed",@"Recover's",nil];
self.purchasesPerClassification = [NSMutableDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"Object",nil]
forKeys:[NSArray arrayWithObjects:@"ObjectKey",nil]];
}
- (void)dealloc {
[super dealloc];
self.availableClassifications = nil;
self.purchasesPerClassification = nil;
}
Я пробовал оба
[purchasesPerClassification release];
и его сбой, когда я возвращаюсь к корневому контроллеру