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