Где там хорошее учебное руководство о том, как использовать отладчик XCode правильно? [закрытый]

Неявное self переменная на самом деле видимо в рамках всего выбора, не используя или иначе. Как указано, хотя, в настоящее время это не представляет ценности в выборе потребления, потому что поведение выбора потребления состоит в том, что экземпляр контракта, на котором осуществлен выбор, заархивирован перед казнью органа по выбору (то есть, семантика "предварительно использует"). В выпуске будущего набор аннотаций выбора расширится для включения preconsuming и postconsuming. В выборе постпотребления контракт, упомянутый self, останется активным всюду по органу по выбору и будет заархивирован в конце. Выбор, не аннотируемый preconsuming, noconsuming или postconsuming, примет значение по умолчанию к семантике перед потреблением (как это сегодня).

6
задан Community 23 May 2017 в 12:01
поделиться

2 ответа

Авария происходит внутри кода Apple (поэтому отладчик не показывает вам источник), и причина этого на самом деле где-то в другом месте - вы выпустили временный объект, который должен был быть освобожден автоматическим выпуском пула. Это привело к сбою пула автозапуска.

Вы должны освободить только те объекты, которые:

  • вы сохранили себя, используя keep
  • , были возвращены init , скопируйте и только новые методы (и их варианты, содержащие эти слова)

К сожалению, вы не можете узнать этот метод из отладчика, только из документации и опыта…

Вы можете использовать Clang Analyzer для обнаружения таких ошибок (иногда).

2
ответ дан 16 December 2019 в 21:44
поделиться

Вы должны включить NSZombieEnabled для устранения проблем с чрезмерным выпуском, например:

http://cocoadev.com/index.pl?NSZombieEnabled

http: //www.fromconcentratesoftware .com / 2007/08/09 / nszombieenabled-for-the-debugger-negative /

http://www.tomwhitson.co.uk/blog/2009/04/debugging-with-nszombiesenabled/

4
ответ дан 16 December 2019 в 21:44
поделиться
Другие вопросы по тегам:

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