Հիշողության կառավարումն ինձ նորից շփոթեցրել է...
Իմ .h ֆայլում ես ունեմ.
@property (nonatomic,retain) NSMutableDictionary *properties;
Իմ .m-ում ես ունեմ հետևյալ init մեթոդը, որը բողոքում է Instruments-ի արտահոսքի մասին self.properties տողում.
- (id) init {
self = [super init];
self.properties = [[NSMutableDictionary alloc] init];
return self;
}
Այն նաև բողոքում է արտահոսքից, եթե ես չեմ օգտագործում աքսեսուարը:
Նմանապես, այն արտահոսում է, եթե ես օգտագործեմ այս ռազմավարությունը.
NSMutableDictionary *temp = [[NSMutableDictionary alloc] init];
self.properties = temp;
[temp release];
Իսկ dealloc-ում ես ունեմ.
self.properties = nil;
[properties release];
Ես կարծում էի, որ հետևում եմ կանոններին, բայց այս մեկն ինձ ակնարկում է։