2012-12-13 12 views
20

In meiner iOS-App versuche ich, Daten von einem (RESTful) Server zu bekommen und zu veröffentlichen. Ich denke, dass sowohl RestKit als auch AFIncrementalStore gute Kandidaten sind. Allerdings muss ich auch in der Lage sein, Daten offline zu speichern und auf den Server zu schieben, wenn die App online ist.Unterschiede zwischen RestKit und AFIncrementalStore

Ich versuche zu verstehen, welche ein besseres Framework für die Anwendung ist.

Auch von einigen der online resources scheint es, dass die Verwendung von Fehler auf AFIncrementalStore potenziell die Thread-Handhabung ManagedContext (in der Regel die mainThread) stecken bleiben könnte während der Bereitstellung der Netzwerkanforderung, um eine Eigenschaft zu erhalten. Ist es eine große Sache?

PS: afnetworking Tag seit afincrementalstore Tag hinzufügen, ist nicht verfügbar

Antwort

28

AFIncrementalStore innerhalb Kerndaten arbeitet, zurück zu Ihrem Web-Service zu senden. Es verwendet die relativ neue API, die Apple als NSIncrementalStore anbietet.

RestKit arbeitet von außerhalb von Core Data und bindet HTTP-Anforderungen lose an Core Data, indem es die Objekt-Mapping-Architektur von RK verwendet.

Hier sind einige Vor-& Nachteile für beide:

  • New RestKit Version (0.2.x) ist ligther als die 0,1-Version
  • RestKit jetzt die wirklich gut AFNetworking für alle seine HTTP-Anforderung der Arbeit verwenden, genau wie AFIncrementalStore.
  • ResKit hat eine Menge Testabdeckung
  • AFIS ist wirklich leicht, da es auf NSIncrementalStore
  • AFIS geben Sie ein bisschen mehr Flexibilität integriert ist, da Sie auf Ihrem eigenen
  • RestKit ziemlich sind, ist ziemlich groß und kann auf den ersten
  • RestKit beängstigend ist eine komplette Lösung, nimmt aber Zeit voll auf dem Kopf zu wickeln um alle seine Konzepte

Meine letzte Empfehlung beide wäre, die Zeit zu nehmen und versuchen. Was ich bestätigen kann, ist, dass Sie etwas mehr Codezeilen mit AFIS löschen müssen, da es Sie nicht so sehr an der Hand nimmt wie RestKit, also ist es wirklich eine Frage der Präferenz.

Hoffe, dies wird Ihnen helfen, die richtige Wahl zu treffen!

+0

Vielen Dank für Ihre Meinung. Ich fange an, mit RestKit zu versuchen (da der Vorteil, den AFIncrementalStore in die Tabelle bringt, ein Fehler in der Eigenschaft ist, der momentan in meiner Feature-Priorität nicht hoch ist). – Devang