Я пытаюсь запустить процесс в фоновом режиме, чтобы сгенерировать строку, которая затем используется в основном потоке (отправляется на удаленный сервер). Код отлично работает в симуляторе, и строка записывается дважды какожидается.
На устройстве (iPad, 4.2 и различных iPhone) каждый раз происходит сбой с EXC_BAD_ACCESS.Кажется, что myString выходит из области видимости, но это похоже на пример в Википедии , где используется тот же принцип.
Код выглядит так:
Кто-нибудь знает, почему это дает сбой, и лучший способ исправить это?
Я сделал ошибку, упростив свой код для ясности своего вопроса.
В основной очереди я на самом деле отправляю сообщения самому себе с другим вызовом, и это приводит к неправильному доступу.вызвать метод в моей асинхронной очереди, а внутри метода обернуть код в dispatch_async (dispatch_get_main_queue (), ^ {});блок.
Надеюсь, это поможет кому-то еще.