Я ненавижу задавать вопросы по управлению памятью - все хорошие ответы
Это вариации RTFM. Но этот одурачивает меня.
У меня есть (относительно) сложный словарь в моём модельном классе,
где каждый ключ указывает на массив массивов. Я постоянно добавляю и удаляю
предметы к нему, в зависимости от состояния. Каждый «элемент» является массивом.
- (void)addToDictionary:(NSNumber *)itemID {
// get what we need (associated array of arrays & key) from the incoming ID
NSArray *incomingArray = [self getArrayFromID:[itemID intValue]];
NSString *myKey = [incomingArray objectAtIndex:0];
NSMutableArray *myNewArray = [[NSMutableArray alloc] init];
// case 1: this key is not in the dictionary yet
if ([[myDict allKeys] containsObject:myKey] == NO) {
[myNewArray addObject:incomingArray];
[myDict setObject:myNewArray forKey:myKey];
// case 2: key already there; add new array to its array
} else {
myNewArray = [NSMutableArray arrayWithArray:[myDict objectForKey:myKey]];
[myNewArray addObject:incomingArray];
[myDict removeObjectForKey:myKey];
[myDict setObject:myNewArray forKey:myKey];
}
// why isn't this line working??
[myNewArray release];
}
Мой вопрос - последняя строка. Я выделил этот массив, чтобы помочь мне
работать со словарем, и теперь он мне больше не нужен.
Но программа вылетит, если я ее отпущу, и будет работать нормально
если я прокомментирую эту строку. Что мне не хватает?
ТИА