WedX - журнал о программировании и компьютерных науках

Как сопоставить AFIncrementalStore с Twitter API v1.1?

Как сопоставить AFIncrementalStore с Twitter API версии 1.1?


Сохранение основных данных с помощью AFNetworking, все сделано правильно

https://github.com/AFNetworking/AFIncrementalStore

Ресурсы REST API v1.1

https://dev.twitter.com/docs/api/1.1


- (id)representationOrArrayOfRepresentationsOfEntity:(NSEntityDescription *)entity
                                  fromResponseObject:(id)responseObject;

- (NSDictionary *)representationsForRelationshipsFromRepresentation:(NSDictionary *)representation
                                                           ofEntity:(NSEntityDescription *)entity
                                                       fromResponse:(NSHTTPURLResponse *)response;

- (NSString *)resourceIdentifierForRepresentation:(NSDictionary *)representation
                                         ofEntity:(NSEntityDescription *)entity
                                     fromResponse:(NSHTTPURLResponse *)response;

- (NSDictionary *)attributesForRepresentation:(NSDictionary *)representation
                                     ofEntity:(NSEntityDescription *)entity
                                 fromResponse:(NSHTTPURLResponse *)response;

- (NSMutableURLRequest *)requestForFetchRequest:(NSFetchRequest *)fetchRequest
                                    withContext:(NSManagedObjectContext *)context;

- (NSMutableURLRequest *)requestWithMethod:(NSString *)method
                       pathForObjectWithID:(NSManagedObjectID *)objectID
                               withContext:(NSManagedObjectContext *)context;

- (NSMutableURLRequest *)requestWithMethod:(NSString *)method
                       pathForRelationship:(NSRelationshipDescription *)relationship
                           forObjectWithID:(NSManagedObjectID *)objectID
                               withContext:(NSManagedObjectContext *)context;

Ответы:


1

Я не знаю, полезно ли то, что я пишу, но вот что я знаю:

AFIncrementalStore имеет некоторые серьезные проблемы и, по-видимому, его создатель отказался от него, поскольку он несовместим с AFNetworking v. 2.

Проблемы возникают из-за того, что AFIS пытается быть чем-то большим, чем добавочное хранилище. Инкрементное хранилище работает только внутри своих переопределенных методов, и AFIS делает это для немедленного возврата объектов из резервного хранилища. Однако, когда наконец приходит запрос, он не может добавлять объекты таким образом. Он добавляет их в резервное хранилище, а затем пытается обновить объекты в их контекстах. Такое поведение не было предусмотрено создателями Core Data и приводит к нестабильному поведению — AFIS иногда имеет очень долгое время отклика, а иногда объекты не обновляются должным образом. Кроме того, если вы используете NSFetchedResultsController для подачи табличных представлений, некоторые обратные вызовы вызываются часто, а некоторые никогда.

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

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

02.08.2014
  • Как бы вы подошли к созданию современного клиента Twitter? 03.08.2014
  • Я использую пользовательскую NSOperation, которая сопоставляет части API с основными объектами данных. В ближайшее время раздам ​​на гитхабе. Вы также можете попробовать RestKit, он сильно повзрослел с момента своего создания. 05.08.2014
  • Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]