Я получаю сообщение об утечке памяти от Instruments по следующему коду:
NSArray *array = [[NSArray alloc] initWithObjects:@"Amount (oz):", @"Amount (ml):", @"Supplement:", nil];
self.fieldLabels = array;
[array release];
fieldLabels - это iVar, объявленный как:
NSArray *fieldLabels;
@property (nonatomic, retain) NSArray *fieldLabels;
Instruments сообщает следующее:
# Category Event Type Timestamp RefCt Address Size Responsible Library Responsible Caller
0 __NSArrayI Malloc 00:16.513.592 1 0x660bb40 32 InfantCare -[Supplemental_Amount viewDidLoad]
1 __NSArrayI Retain 00:16.513.595 2 0x660bb40 0 InfantCare -[Supplemental_Amount setFieldLabels:]
2 __NSArrayI Release 00:16.513.595 1 0x660bb40 0 InfantCare -[Supplemental_Amount viewDidLoad]
Затем я изменил код, вместо:
self.fieldLabels = array;
Я положил:
[self setFieldLabels:array];
Нет больше утечки (предположительно!). С чего бы это?
Спасибо!