Этот код возвращает ошибку: 458: 3 Объект с подсчетом ссылок используется после его освобождения
- (id)createObjectFromURL: (NSURL*)URL query: (NSDictionary*)query { id target = nil; if (self.instantiatesClass) { target = [_targetClass alloc]; } else { target = [_targetObject retain]; } id returnValue = nil; if (_selector) { returnValue = [self invoke:target withURL:URL query:query]; } else if (self.instantiatesClass) { returnValue = [target init]; } [target autorelease]; return returnValue; }
А что если вы попытаетесь сделать это:
else if (self.instantiatesClass) { returnValue = [[target init] autorelease]; } return returnValue;
Потому что вы не инициируете цель, если не переходите к другому, если.