6

開発者として、私は毎日データの処理に直面しています。生データをオブジェクト (NSManagedObject) に処理するために必要な一般的なこと。そのため、リモート サーバーからデータを取得するために AFNetworking を使用しています。AFNetworking の作業の結果、NSDictionary で表すことができるデータが得られました。したがって、多くの作業が必要になる主な作業は、この生データを具体的なデータ モデルに変換することです。インターネットには、この大変な作業を代行してくれるライブラリがたくさんあります。

マジカルレコード MagicalImport

マント

イージーマッピング

マッピングの初心者として、どのライブラリが自分の目的に最適かを知りたいです。たぶん、別のものを提案することもできます。

4

2 に答える 2

5

あなたが言及した各ライブラリには、異なる目的があります。

MagicalRecord - 一般的な Core Data 操作 (フェッチ、挿入、削除、スタックのセットアップなど) を簡素化します。JSON やその他の形式の Core Data モデルへのマッピングは処理しません。 @casademora のおかげで修正: MagicalRecord は、ここで説明されている手順を使用して、カスタム マッピングを使用してインポートを処理できます。とはいえ、MagicalRecord は、この機能のためだけに使用するかなり大きなライブラリです。

Mantle - Objective-C のモデル オブジェクトのボイラープレートを大幅に削減します ( NSCodingNSCopying-isEqual:/-hashなどの自動実装)。モデル オブジェクトの表現を変換するためのMTLJSONAdapterや などのアダプタが含まれています。MTLManagedObjectAdapterこれは、達成しようとしていることに最も適しているように思えます。サブクラスにMTLJSONSerializingMTLManagedObjectSerializingプロトコルの両方を実装すると、Web API (おそらく JSON データ) からの応答を Core Data モデル オブジェクトに変換できます。MTLModelNSDictionary

EasyMappingEKObjectMapping - 私自身はこのライブラリを使用していませんが、基本モデル クラスをサブクラス化する代わりにマッピング モデル ( ) を使用することを除いて、さまざまなモデル表現の間で変換するためだけに Mantle の機能の小さなサブセットを提供しているようです。このライブラリを使用することの欠点は、Mantle のように他の Objective-C モデル オブジェクトのボイラープレートを処理しないことです。

言及された3つのライブラリのうち、Mantleがおそらくあなたが説明したものに最も適していると思います. もう 1 つのオプションは、RestKitを使用することです。これは、これらのどのライブラリよりも緊密な REST API/コア データ統合を提供しますが、使用とデバッグが非常に困難です。

于 2014-02-15T21:20:56.347 に答える
1

Core Data との緊密な統合が必要な場合は、RestKit ( http://restkit.org ) を確認する必要があります。そうでない場合は、EasyMapping をお勧めします。それは非常に簡単で、ほぼすべての状況で十分強力です。また、フレームワーク クラスからクラスをサブクラス化する必要もありません (Mantle の MTLModel など)。

于 2014-02-15T21:05:44.000 に答える