У меня есть класс с именем CategoryViewController, и его метод viewDidLoad вызывает этот метод:
- (void)reset {
Category * c = [[Category alloc] initWithId:0 title:@"Categories"];
[self setCategory:c];
[c release]; // <--- line of code I am interested in
self.title = @"Categories";
[self fillCategory];
}
В большинстве случаев категория здесь будет иметь значение null, но иногда необходимо вызывать сброс после назначения категории.Без строки, отмеченной в моем коде, программа прекрасно отлаживает и отлаживает, и я могу проверять инструменты и проверять утечки.Единственная утечка, которую я могу найти, - это категория, инициализированная из этой функции (потому что без выпуска я получаю утечку при вызове этой функции на CategoryViewController, который уже был инициализирован).
Если я попытаюсь запустить этот метод, как есть, с выпуском С, инструменты, XCode и симулятор начнут работать странно, вылетая и зависая, давая мне случайные SIGABRT и SIGKILL.Я могу собрать и отладить строку кода, но Instruments даже не запустит мое приложение.Кто-нибудь может дать мне подсказку о том, что здесь происходит?
РЕДАКТИРОВАТЬ: больше код
@implementation Category
@synthesize title, articleCount, seeAlso, categoryId, articles, subcategories;
- (id)initWithId:(NSInteger)cid title:(NSString*)t{
self.title = t;
self.categoryId = cid;
[self setArticles:[[NSMutableArray alloc] init]];
[self setSubcategories:[[NSMutableArray alloc] init]];
[self setSeeAlso:[[NSMutableArray alloc] init]];
self.articleCount = 0;
return self;
}