Проблема управления памятью: объект, использованный после выпуска - PullRequest
0 голосов
/ 14 января 2011

Этот код возвращает ошибку:
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;
}

1 Ответ

0 голосов
/ 14 января 2011

А что если вы попытаетесь сделать это:

else if (self.instantiatesClass) 
{
  returnValue = [[target init] autorelease];
}
return returnValue;

Потому что вы не инициируете цель, если не переходите к другому, если.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...