утечка памяти какао NSCFString, но у меня нет выделять или сохранять - PullRequest
0 голосов
/ 25 августа 2011

Инструмент говорит мне

NSCFString 16Bytes Foundation - [NSPlaceholderString

Мой код похож на:

BOOL rslt = [self sendLogInfo:[NSString stringWithFormat:@"%@", [nameField text]] andPasword:[NSString stringWithFormat:@"%@",[passField text]]];

Но без какого-либо метода alloc. Может ли кто-нибудь сказать мне, что не так с кодом?

1 Ответ

4 голосов
/ 25 августа 2011

Существует две возможности:

  1. sendLogInfo: или какой-либо другой код, который вы не показывали, сохраняет строку либо напрямую (отправив ей сообщение retain), либо косвенно(путем установки его в качестве значения свойства strong / retain).
  2. Этот код не является кодом, который создает строку, показанную в инструментах.

Если выНаведите указатель мыши на адрес (0xblahblah) в строке строки в разделе «Инструменты», вы увидите кнопку, которая выглядит следующим образом: ➲ Если вы нажмете на нее, вы попадете в журнал для этого адреса, который отобразит списокраспределение и каждое сохранение, авто-релиз и освобождение этой строки.Затем вы можете проверить стек вызовов каждого события, чтобы выяснить, что его вызвало.

Одной из них является причина утечки: либо чрезмерное сохранение, либо сохранение (или распределение), которое должно быть сбалансировановыпуск, но не.

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