Я получил сообщение об ошибке «objc_msgSend ()» в моем приложении и благодаря Hamster Emporium
я могу немного понять, что происходит.
Теперь я нашел «проблему» и «решение», но чего я не могу понять, почему моя проблема действительно была проблемой.
Вот сценарий:
Object_A -> Object_B -> Object_C
Символ '->' представляет действие "создать".
Класс Object_C выглядит так:
@interface Class_C {
NSArray *items;
}
@property (nonatomic, retain) NSArray *tems;
@end
Свойство 'items' устанавливается в Object_B с помощью метода setItems:
- (void)setItems:(NSArray *)items_ {
if (object_B) {
[object_B.taskItems release];
object_B.taskItems = items_;
}
[super setItems:items_];
}
Теперь, если я использую этот метод как есть, я получаю богохульную ошибку 'objc_msgSend ()', НО, если я комментирую строку выпуска, все идет хорошо.
Примечание: retainCount в строке выпуска равно 0, но выпуск выполняется без проблем