あなたが言及した各ライブラリには、異なる目的があります。
MagicalRecord - 一般的な Core Data 操作 (フェッチ、挿入、削除、スタックのセットアップなど) を簡素化します。JSON やその他の形式の Core Data モデルへのマッピングは処理しません。 @casademora のおかげで修正: MagicalRecord は、ここで説明されている手順を使用して、カスタム マッピングを使用してインポートを処理できます。とはいえ、MagicalRecord は、この機能のためだけに使用するかなり大きなライブラリです。
Mantle - Objective-C のモデル オブジェクトのボイラープレートを大幅に削減します ( NSCoding
、NSCopying
、-isEqual:
/-hash
などの自動実装)。モデル オブジェクトの表現を変換するためのMTLJSONAdapter
や などのアダプタが含まれています。MTLManagedObjectAdapter
これは、達成しようとしていることに最も適しているように思えます。サブクラスにMTLJSONSerializing
とMTLManagedObjectSerializing
プロトコルの両方を実装すると、Web API (おそらく JSON データ) からの応答を Core Data モデル オブジェクトに変換できます。MTLModel
NSDictionary
EasyMappingEKObjectMapping
- 私自身はこのライブラリを使用していませんが、基本モデル クラスをサブクラス化する代わりにマッピング モデル ( ) を使用することを除いて、さまざまなモデル表現の間で変換するためだけに Mantle の機能の小さなサブセットを提供しているようです。このライブラリを使用することの欠点は、Mantle のように他の Objective-C モデル オブジェクトのボイラープレートを処理しないことです。
言及された3つのライブラリのうち、Mantleがおそらくあなたが説明したものに最も適していると思います. もう 1 つのオプションは、RestKitを使用することです。これは、これらのどのライブラリよりも緊密な REST API/コア データ統合を提供しますが、使用とデバッグが非常に困難です。