Сигнал 11, отказ сегментации на выходе приложения для iPhone

Объяснение в эти документы , помогает объяснить это:

КОЛИЧЕСТВО (*) возвращает количество объектов в группе, включая Нулевые значения и дубликаты.

КОЛИЧЕСТВО (выражение) оценивает выражение для каждой строки в группе и возвращает количество непустых значений.

, Таким образом, количество (*) включает, аннулирует, другой метод не делает.

5
задан Eimantas 4 December 2009 в 22:07
поделиться

3 ответа

Попробуйте запустить приложение с NSZombieEnabled. Это скажет вам, если вы выпустите какой-либо объект. Чтобы включить зомби, сделайте следующее:

  1. Выберите «Проект»> «Редактировать активный исполняемый файл», чтобы открыть информацию о исполняемом файле.
  2. Нажмите «Аргументы».
  3. Нажмите кнопку добавления (+) в «Переменные, которые нужно установить в environment ».
  4. Введите NSZombieEnabled в столбце Name и YES в столбце Value.
  5. Убедитесь, что установлен флажок для записи NSZombieEnabled.
7
ответ дан 14 December 2019 в 08:52
поделиться

После выхода ваше приложение может чрезмерно освободить объект, попробуйте сбросить каждый объект перед его освобождением или выполните некоторую отладку с помощью метода dealloc.

0
ответ дан 14 December 2019 в 08:52
поделиться

Возможно, вы освобождаете какой-либо объект больше раз, чем он удерживает. Закомментируйте вызовы -release в своих методах dealloc (или где-либо еще), пока не найдете виновника.

Затем раскомментируйте этот вызов и посмотрите в другом месте кода, где вы пытаетесь чрезмерно освободить этот объект.

Если вы используете удобные методы, например (например, [NSString stringWithFormat: @ "..."] ) в отличие от методов alloc-init (например, [[NSString alloc] initWithFormat: @ "..."] ) результирующий вспомогательный объект выпускается автоматически и не должен освобождаться вручную.

0
ответ дан 14 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: