Управление памятью может сначала сбить с толку.Выпускать только те объекты, которые вы создали.Это почти только в том случае, если вы используете слова alloc, init, retain.
Проблема в вашем случае в том, что вы на самом деле не являетесь владельцем объекта, он автоматически освобождается, потому что вы не выделяли, не инициировали и не сохраняли его,Это нормально, но выпускать его не ваша задача, так что не беспокойтесь об этом.
Если позже вы получите ошибки «EXC_BAD_ACCESS», может быть полезно использовать NSZombies чтобы помочь найти, где вы выпускаете неправильно.Они работают, помещая «зомби» в память, куда бы вы ни отпустили объект, чтобы легче было понять, в чем проблема.
РЕДАКТИРОВАТЬ: Например, скажем, у вас есть:
NSString *foo = [[NSString alloc] initWithString:@"foo"];
NSString *bar = [NSString stringWithString:@"bar"];
Вы должны были бы освободить foo, вызвав: [foo release];
в какой-то момент, но вам не пришлось бы освобождать bar, потому что вы не использовали alloc для выделения памяти для него.Это касается любого типа объекта, а не только NSString.Отличный сайт, объясняющий это, можно найти здесь .