¿Cómo asignas AFIncrementalStore a Twitter API v1.1?

¿Cómo AFIncrementalStore a Twitter API v1.1?


Persistencia de datos básicos con AFNetworking, hecho a la derecha

https://github.com/AFNetworking/AFIncrementalStore

Recursos de 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; 

No sé si lo que escribo es exactamente útil, pero esto es lo que sé:

AFIncrementalStore tiene algunos problemas serios y es aparentemente abandonado por su creador, ya que es incompatible con AFNetworking v. 2

Los problemas surgen del hecho de que AFIS trata de ser más que una tienda incremental. La tienda incremental solo funciona dentro de sus methods anulados y AFIS lo hace para devolver inmediatamente los objects del almacén de respaldo. Sin embargo, cuando finalmente llega la request, no puede agregar objects de esta manera. Los agrega a la tienda de respaldo y luego trata de actualizar los objects en sus contexts. Este comportamiento no fue previsto por los creadores de Core Data y da como resultado un comportamiento inestable: a veces, AFIS tiene times de respuesta muy largos y, a veces, los objects no se actualizan correctamente. Además, si usa NSFetchedResultsController para alimentar vistas de tabla, algunas llamadas se llaman con frecuencia y nunca.

Pasé mucho time intentando que esto funcione, pero es probable que sea imposible: tienes que engañar a los datos centrales que estás agregando objects al context mientras nunca lo haces.

Y volviendo a tu pregunta, si realmente quieres usarlo, básicamente tienes que escribir todos esos methods para Twitter. Este es un trabajo duro, pero Twitter debe tener algún model de object y algunos ID asignados a cada object. Lo hice para mis API, pero es como uno o dos días de trabajo duro, y no tengo mucho time para escribirlo aquí.

    Intereting Posts