Разбор iOS iOS в основном или фоновом потоке - PullRequest
1 голос
/ 02 июня 2011

При синтаксическом анализе XML в Objective-C в приложении для iOS, когда можно использовать основной поток и когда анализ должен выполняться в фоновом потоке? Может ли основной поток обрабатывать синтаксический анализ SAX для небольших документов или все синтаксический анализ XML должен выполняться в фоновом режиме?

Ответы [ 2 ]

4 голосов
/ 02 июня 2011

Все, что не вызывает в UIKit (UIView и его подклассы) или даже предполагает, что оно может отображаться на экране, совершенно безопасно сделать из основного потока.

У меня есть несколько приложений, которые обрабатывают XML в фоновом потоке. Я бы предложил использовать NSOperation, которому вы передаете весь XML-документ, разрешить ему полностью его обрабатывать или предоставить ряд методов делегатов, которые уведомляют основной поток о его продвижении. Если вы планируете использовать основные данные, могу ли я предложить свой собственный абстрактный класс NSOperation для выполнения фонового импорта.

На самом деле вы можете выполнять рендеринг в фоновом потоке, но вы должны очень тщательно выбирать API.

4 голосов
/ 02 июня 2011

Я обычно делаю всю свою обработку данных в фоновом потоке.Это гарантирует, что поток пользовательского интерфейса не будет заблокирован в любой момент времени, что бы я ни делал.

...