Если это действительно весь код, то я могу подумать о некоторых сценариях, в которых это может произойти сбой.Во-первых, если у вас есть несколько потоков, очень вероятно, что вы зависаете в другом потоке.
Если это единственный поток, то я подозреваю, что где-то в «строке 5» вы создаете данные, которые неправильно управляются памятью,В ARC это требует либо того, что вы вызываете не-ARC-код, либо в какой-то момент вы выполняете __bridge
приведения, либо вы неправильно управляете malloc
памятью (возможно, в dealloc
чего-то, созданного в«строка 5»).
В строке 2 tempoArray
может быть немедленно освобождено, если оно не используется после строки 2. Если оно используется после строки 2, то практически невозможно представить, что оно будет освобожденослишком рано, если вы не сделали что-то действительно странное (например, тип возврата getRoster...
be __unsafe_unretained NSArray*
).
Другая возможность - это если вы разбиваете свой собственный стек.Это может произойти, если вы разместите массивы или строки C в своем стеке, а затем запишете их конец.Скорее всего, это будет в «строке 5».
Тот факт, что вы видите это в поле, предполагает, что это может быть связано с оптимизацией.Обязательно выполните тестирование в режиме Release.
Ваши соглашения об именах неверны, что может создать проблемы в коде ARC, хотя я сомневаюсь, что это реальная проблема.Ведущий get
в getRoster:online:
должен быть удален.Ведущий get
указывает, что метод возвращает свой результат по ссылке.Тем не менее, я не верю, что ARC применяет какое-либо специальное управление памятью в этом случае, поэтому я не думаю, что это вызывает ваш сбой.См. Руководство по KVC для получения полной информации о правильном присвоении имен, чтобы ARC знал, что вы делаете.
Тот факт, что символика работает не очень хорошо, говорит о том, что вы, возможно, смотрите на другоеФайл dSYM, чем код, который вы отправили.Убедитесь, что вы всегда сохраняете dSYM и двоичный файл пакета, который вы отправляете в магазин приложений.Xcode использует центр внимания, чтобы найти соответствующий dSYM.