Что лучший способ состоит в том, чтобы проанализировать RSS/Atom-ленты для приложения для iPhone?

Проблема в том, что вы вызываете operator<< для типов, которые не перегружают тот оператор, который вы затем вызываете внутри своей функции sharedLog.

Для записи экземпляра типа T в std::ostream таким образом, вам необходимо перегрузить operator<<.

Оператор должен быть реализован вне типа T и иметь следующую подпись:

std::ostream& operator<< (std::ostream &out, const T& arg);

Если ему требуется доступ к закрытым и защищенным членам T, его также следует объявить как друг:

friend std::ostream& operator<< (std::ostream &out, const T& arg);

Он должен вернуть ссылку out, которую он получает, в качестве первых аргументов, чтобы вызовы можно было объединить в цепочку:

str << a << b << c;

Более подробную информацию можно найти здесь: [ 1112] https://www.learncpp.com/cpp-tutorial/93-overloading-the-io-operators/

Оператор C2593 < < является неоднозначным

blockquote>

У вас есть 2 или более реализаций, которые оба являются кандидатами, и компилятор не знает, какую из них выбрать. Сообщение об ошибке содержит дополнительные сведения, которые указывают на кандидатов, чтобы вы могли увидеть, какие типы конфликтов. Подробнее здесь: ошибка C2593: 'оператор < <' является неоднозначным

C2679 бинарный < < не найден оператор, который принимает правый операнд типа T (или нет приемлемого преобразования)

blockquote>

Вы вызываете operator<< для типа, который не перегружает его, как описано в начало моего ответа.

15
задан jpm 19 February 2009 в 16:23
поделиться

8 ответов

"Лучше всего" относительно. Лучшая производительность необходимо будет пойти путем SAX и реализовать обработчики. Я не знаю ничего там доступного открытого исходного кода (запустите проект кода Google и выпустите его для остальной части нас для использования!)

Независимо от того, что Вы делаете, это - вероятно, действительно плохая идея попытаться загрузить целый XML-файл в память и действовать на него как DOM. Возможности, Вы получите подачу, которая намного больше, чем можно обработать на продвижении устройства к частым предупреждениям памяти и катастрофическим отказам.

6
ответ дан 1 December 2019 в 02:55
поделиться

Вы посмотрели на TouchCode уже? Я не думаю, что это имеет процессор RSS, но это могло бы дать Вам запуск. http://code.google.com/p/touchcode/

0
ответ дан 1 December 2019 в 02:55
поделиться

смотрите на образец Производительности яблока XML - который указывает на использование libXML непосредственно - для производительности и более быстрых обновлений дисплея. Который может быть важным, если Вы работаете с очень большой подачей.

2
ответ дан 1 December 2019 в 02:55
поделиться

Я приехал через igasus проект в SourceForge сегодня. Я не использовал его или действительно проверил его, но возможно это могло бы помочь.

От их сайта: igagus является веб-сервисом для iPhone, который позволяет агрегированию RSS быть поставленным в iPhone дружественный формат.

0
ответ дан 1 December 2019 в 02:55
поделиться

На самом деле я пытался предложить, чтобы Вы спросили относительно форума TouchCode, потому что я помню, что кто-то пытался развернуть его для поддержки RSS. Это могло бы быть достойной начальной точкой. Но я срочно отправлялся моей женой.

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

0
ответ дан 1 December 2019 в 02:55
поделиться

Это может быть разумной отправной точкой для вас. Поддержка атом еще не там, но вы могли бы помочь?

0
ответ дан 1 December 2019 в 02:55
поделиться

Я только что выпустил парсер RSS / Atom с открытым исходным кодом для iPhone и, надеюсь, он может быть полезен.

Я тоже хотел бы услышать ваше мнение по этому поводу!

12
ответ дан 1 December 2019 в 02:55
поделиться

В настоящее время я тестирую MWFeedParser, который разрабатывает @Michael Waterfall.

Довольно легко настроить и использовать (я начинающий разработчик iPhone).

Его пример кода для использования MWFeedParser для заполнения реализации UITableViewController также полезен.

3
ответ дан 1 December 2019 в 02:55
поделиться