2013-03-21 6 views
6

この質問を解決するために、この質問を解決するだけです。私のMagicalRecordパーフェクトをインポート

私はこのブログを読んで、私のインポートを有効にしています。

http://www.cimgf.com/2012/05/29/importing-data-made-easy/

私はJSONの形式にあったときに...完璧に作業インポートを得ることができた
[ 
    { 
     Name: "John Smith", 
     Id: 123, 
     Company: 
     { 
      Name: "Apple", 
      Id: 1 
     } 
    } 
] 

つまりJSONは実際のオブジェクトが含まれている場合。

インポートでは、新しいオブジェクトを作成するのではなく、オブジェクトを見つけて既存のオブジェクトを更新します。

はしかし、私が持っているJSONのいくつかは...

[ 
    { 
     Name: "John Smith", 
     Id: 123, 
     CompanyID: 1 
    } 
] 

と関係なく、私は何をすべきか、それが複製を作成するフォーマットを持っています。

魔法の記録userinfoがこれを実現するために設定したものを教えてください。

+0

(会社エンティティでユニークなプロパティ名)、してくださいこれが有用かどうかを確認してください。 – Anupdas

+0

なぜ2つの異なるJSONモデル構造を使用しているのですか?それが最適化され、会社オブジェクトが既に存在することがわかっている場合は、 "Id"だけを保持して同じ構造を使用できますか? – Anupdas

+0

この例は私のアプリケーションと同じではなく、この質問のためのものです。私のアプリではPersonやCompanyというオブジェクトはありません。 2つの異なる構造は、実際のアプリでは全く異なるオブジェクトに関連しています。私は両方を働かせようとしているだけです。 – Fogmeister

答えて

6

ご質問ありがとうございます。私はしばらく使用していますが、MagicalRecordのインポート機能を正常に使用することができました。あなたの問題を解決することができました。

私はMagicalRecordがPersonのpersonIDとCompanyのcompanyIDを使用することを慣例と考えています。それは私たちの制御の下にあるので、ちょうど注意する必要があります。私が間違っているなら、私を修正してください。エンティティのプロパティからアンダースコアを削除した直後、それはもはやクラッシュしませんでした。

以下の解決策を完全にテストしました。私が使用したdemo project codeを参照してください。だから、質問をすることは自由です。この形式の

Company 
------------- 
companyID (unique) //Removed underscore from the property 
companyName 
------------- 
persons 

Person 
------------- 
personID (unique) //Removed underscore from the property 
firstName 
lastName 
------------- 
company 

{ 
     Id: 1, 
     FirstName: "John", 
     LastName: "Smith" 
     Company : 
     { 
      Id: 123 
     } 
    } 
} 

人で会社の関係

mappedKeyName : Company(JSONのキーで使用されるように)

relatedByAttribute : companyIDためのUserInfoで提供されなければならない後(会社の一意のプロパティ名)

このモデルの場合:(JSONのキーで使用されるように)

{ 
    Id: 1, 
    FirstName: "John", 
    LastName: "Smith" 
    CompanyId: 123 
} 

mappedKeyName : CompanyId

relatedByAttribute : companyID私はあなたの問題のためのサンプルコードを実行しようとしている

+0

私はいつ私のコンピュータに戻ってテストします。 – Fogmeister

+0

@Fogmeisterインポートはあなたのために機能しましたか? – Anupdas

+0

今すぐ戻ってください。 D – Fogmeister

関連する問題