2016-08-13 11 views
1

ここでボタンをクリックしたときにデータをコアデータに保存したいのですが、ここでは私のアクションボタンコードはlet app = UIApplication.sharedApplication().delegate as! AppDelegate let context = app.managedObjectContext let entity = NSEntityDescription.entityForName("Cart", inManagedObjectContext: context) let cart = Cart(entity: entity!, insertIntoManagedObjectContext: context)ですが、ここで唯一の問題は、コードを解析する方法がないことですjsonモデルコアデータにデータを保存する方法

 Alamofire.request(.GET, url!, headers: headers).responseJSON { (response) in 
     let result = response.result 

     if response.result.isSuccess{ 
      let jsonObj = JSON(result.value!) 
      if let x = jsonObj["Items"].array { 
       x.forEach 
        { 
         if let uw = ($0["name"]).string{ 
          print(uw) 
          let qw = ($0["image"]).string 
          if let rw = ($0["price"]).int{ 
           if let hu = ($0["id"]).int{ 
           print(hu) 
           let foo = Rest(name: uw, imageUrl: qw!, price: "₦\(rw)") 
            self.rest.append(foo) 

           } 


          } 

         } 

       } 

       dispatch_async(dispatch_get_main_queue()) { 
        self.tableView.reloadData() 
        actInd.stopAnimating() 

       } 

      } 

     } 

だから、私はテーブルビューのデータを取得する必要があります残りの配列があります。私はここでcoredataにタップし、各セルの情報を保存することを確認し、ボタンをタップするとアプリScreenshot

のスクリーンショットは、だから、ここcoredata にアイテムを保存しているあなただけのcode

答えて

1

を旧姓包み私のコードですここでは、データをcoredataに保存する場合の例を示します。エンティティ/モデルとコアデータ要素のすべての設定を作成する必要があります。詳細については、https://www.raywenderlich.com/115695/getting-started-with-core-data-tutorial

func saveName(name: String) { 
    //1 
    let appDelegate = 
    UIApplication.sharedApplication().delegate as! AppDelegate 

    let managedContext = appDelegate.managedObjectContext 

    //2 
    let entity = NSEntityDescription.entityForName("Person", 
    inManagedObjectContext:managedContext) 

    let person = NSManagedObject(entity: entity!, 
    insertIntoManagedObjectContext: managedContext) 

    //3 
    person.setValue(name, forKey: "name") 

    //4 
    do { 
    try managedContext.save() 
    //5 
    people.append(person) 
    } catch let error as NSError { 
     print("Could not save \(error), \(error.userInfo)") 
    } 
} 
+0

私は私のparseJson()関数で関数を呼び出しますか? – lordxxx

+0

"コールドデータにタップされた各セルの情報をここに保存するには、アプリケーションのスクリーンショットが必要です"。だから、セルタップされたtableview didSelectRowAtIndexPathメソッドが呼び出されます。あなたは今すぐ保存したいですか?カートオブジェクト? – Sofeda

+0

名前と価格を保存したいのですが、私のコードが見えましたか?どのように私はそこからそれを保存することができます – lordxxx

2

あなたのコードに合わせてお試しください。あなたが持っている部分には

(...アプリ= ...を聞かせて)、このことによってそれを置き換える:

let app2 = UIApplication.sharedApplication().delegate as! UIApplicationDelegate 
     if let context2 = app2.managedObjectContext { 
      let cart2 = NSEntityDescription.insertNewObjectForEntityForName("Cart", inManagedObjectContext: context2) as! Cart 
      cart2.name = self.res.name 
      cart2.price = self.res.price 
      cart2.url = self.res.imageUrl 
      cart2.id = "" 
      // Perform a save operation 
      do { 
       try context2?.save() 
      } catch { 
       let saveError = error as NSError 
       print(saveError) 
      } 
     } 

が、この作品なら、私に教えてください。

乾杯

+0

はい私はそれが働くように感謝します – lordxxx

関連する問題