2016-08-13 58 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如何將數據保存到模型coredata

 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() 

       } 

      } 

     } 

所以我有一個名爲休息的數組,這是我想要的數據爲tableview。我要救挖掘到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

「我想將每個單元格的信息保存到coredata中,這裏是應用程序的屏幕截圖」。所以當單元格點擊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) 
      } 
     } 

讓我知道這是否正常工作。

Cheers

+0

是的,謝謝你,我得到它的工作 – lordxxx

相關問題