Асинхронность и initWithURL в TBXML - PullRequest
3 голосов
/ 15 ноября 2011

Я планирую использовать TBXML для моего приложения Weather. До сих пор я использовал NSXMLParser с NSURLConnection, но я чувствую, что это должно быть намного проще, быстрее и стабильнее (текущий код настолько сложен, что мелкие проблемы продолжают появляться, которые адски отлаживать).

Я немного искал асинхронные парсеры и в итоге оказался в статье («Как выбрать лучший xml-парсер для вашего проекта iPhone» на raywenderlich ), которая привела меня к TBXML. Читая документацию, я увидел, что вы также можете инициировать ее с помощью URL-адреса, что устранит необходимость использования NSURLConnection. Мой первый вопрос: каковы преимущества использования NSURLRequest по сравнению с этим? Прежде чем запускать TBXML, я собираюсь проверить правильность сетевого подключения, поэтому проблем не будет.

Мой второй вопрос об асинхронности: если я просто вызову initWithURL или initWithData, будет ли его обработка асинхронной? Из того, что я видел, у него нет вызовов делегатов, но вместо этого вы просто получаете элементы из объекта TBXML. Если я попытаюсь получить элементы из этого до того, как это будет сделано, он просто повиснет там? Так как это может длиться особенно долго, если вы используете initWithURL (что в значительной степени ответило бы на мой первый вопрос). Если это так, безопасно ли работать TBXML в другом потоке (что, я полагаю, так)?

Ответы [ 2 ]

1 голос
/ 15 ноября 2011

Если вы хотите проанализировать его асинхронно, вам действительно нужен вторичный поток, сокеты и тому подобное могут работать в цикле выполнения, потому что им нужно только время от времени проверять, есть ли данные, доступные для чтения.Синтаксический анализатор действительно должен использовать некоторую обработку данных.

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

0 голосов
/ 10 января 2012

http://www.tbxml.co.uk/TBXML/TBXML_Free.html

перейдите по ссылке и получите ответ.

...