2017-04-01 19 views
0

に構造体の配列を保存します。私のプログラムの別の部分でiOSの - 私はこのような構造体持っているCoreData

     struct list 
{ 
         
         var userId: Int = 0 
         var id: Int = 0 
         var title: String = "" 
         var body: String = "" 

} 

を、私は構造体の配列を宣言し、私は、インターネットからダウンロードしたJSONファイルを介して情報を入力します。 。

var array = [list]() 

私の問題は、この構造体の配列をCoreDataに保存して再作成することです。私は前進する方法を知らない、あなたは私に手を差し伸べるだろうか?

+0

CoreData Modelは何ですか?これを確認してくださいhttp://stackoverflow.com/questions/37876275/how-do-i-store-a-swift-struct-in-core-data-on-ios –

答えて

1

私はバイナリデータ型を使用することをお勧めします。

1.Createあなたの構造体モデルのtoDictionary()方法:

@NSManaged var list: NSData?

func toDictionary() -> [String: Any] { 
    return ["userId: self.userId, "id": self.id, ...] 
} 

2.Thenあなたの構造体のリストを表し、あなたのコアデータモデル、上のNSDataプロパティを追加3.クラスヘルパでそのリストプロパティにアクセスします。

func listDictionary() -> [String: Any]? { 
    guard let listData = self.list as? Data else { return nil } 
    let dict = NSKeyedUnarchiver.unarchiveObject(with: listData) as? [String: Any] 
    return dict 
} 

4.リストのオブジェクトにfromDictionary() -> listを作成します。辞書からモデルを作成します

関連する問題