Как мы можем приостановить добавление аннотаций, а MKMapView оживляет или перемещение. [IPhone SDK 3]

голоса
0

У меня есть MKMapView и другой класс имеет резьбу добавление аннотаций к MKMapView.

Но проблема в том, MKMapView.annotations является неатомическим. Таким образом, в то время как другой класс добавление аннотаций .... Это выглядит нормально, если пользователь не двигайте видимую область карты. Но если вы продолжаете двигаться, и другой класс добавление аннотаций к карте в данный момент, приложение падает. Поскольку массив мутировали во время отображения было анимировать.

Я сделал NSOperationQueue, и добавить каждое добавление аннотаций задания в очередь.

И тогда, когда область МАП изменяется, пауза NSOperationQueue .., а затем перезапустить его при смене региона делается.

Я мог бы избавиться от большинства аварий .. но все-таки это случилось иногда.

Есть идеи?

Задан 28/12/2009 в 11:46
источник пользователем
На других языках...                            


2 ответов

голоса
3

Не добавляйте аннотации к MKMapView в фоновом потоке. Пусть операция фон возвращает NSArray обратно в основной поток, а затем добавить NSArray к MKMapView синхронно. Я делаю это все время, и она работает.

Ответил 28/12/2009 в 13:02
источник пользователем

голоса
0

Всегда обрабатывать пользовательский интерфейс управления в главном потоке.

Ответил 08/01/2010 в 21:18
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more