简体   繁体   中英

How to save Data from Parse to Local CoreData in Swift

So how can I save the data I got from Parse to a local CoreData in the app

This is the query I use to get the data from Parse:

override func queryForTable() -> PFQuery {

    let query = PFQuery(className: "News")
    query.cachePolicy = PFCachePolicy.NetworkElseCache
    query.orderByDescending("updatedAt")
    return query

}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFTableViewCell? {

    let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! NewsCell

    cell.NewsTitle.text = object?.objectForKey("NewsTitle") as? String 
    cell.NewsSubject.text = object?.objectForKey("NewsSubject") as? String


    let imagefile = object?.objectForKey("NewsImage") as? PFFile
  //  cell.NewsImage.image = UIImage(named: "News Title")
    cell.NewsImage.file = imagefile
    cell.NewsImage.loadInBackground()


    return cell


}

只需使用您要拥有的所有对象创建核心数据模型(我还建议您查看https://github.com/rentzsch/mogenerator以轻松管理核心数据对象),然后创建/修改/删除核心数据模型中的对象将其与您从解析中获取的数据进行同步。

You can simply use UserDefaults: (following example is for "newsTitle")

let userDefaults = NSUserDefaults.standardUserDefaults()
// Set newsTitle in NSUserDefaults
let temp = object?.objectForKey("NewsTitle") as? String
userDefaults.setValue(temp, forkey: "newsTitle")
userDefaults.synchronize()
// Get newsTitle in NSUserDefaults
cell.newsTitle.text = userDefaults.stringForKey("newsTitle")

If you have further questions, please feel free to ask.

****Update*****

getPicFromUser = userDefaults.dataForKey("userPic")
var image = UIImage()

if getPicFromUser != nil {
   image = UIImage(data: getPicFromUser!)!
} else {
   // no pic from nsdefaults
}
userPic.image = image

****Update*****

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM