func writeDataToSqliteStore() throws {
// Configure the Network Call here with NSURL & NSData returning an array that you can write to the Core Data SQLITE backend.
do {
jsonResponse = try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions()) as? NSArray
} catch {
print(error)
}
let localEntity = self.insertNewEntity("EntityName") as? CoreDataEntityClass
for singleObject in jsonResponse {
localEntity.name = singleObject.valueForKey("name")
localEntity.address = singleObject.valueForKey("address")
}
}
1 回答
没有最快捷的方式,但我绝对可以建议一些对我有用的东西 . 最好与否 - 由您决定 .
此外,您的问题非常通用 - 因为它包含移动应用程序的整个后端基础架构 . 我会尝试尽可能具体 -
1)对php文件发出http post请求,该文件选择mysql数据库的所有数据并将结果返回给应用程序 -
收到结果后,您可以在Core Data中解析它,如下例所示 -
2)检查核心数据中存在哪些数据=>无所事事,哪些数据是新的=>将新数据保存在核心数据中 -
您可以使用时间戳进行良好的头部通话,并检查数据是否已更新 . 如果数据已更新 - 更新单个Core Data属性可能会有点棘手 . 对我来说一直有用的是删除设备上的SQLITE后端并再次运行数据写入方法 . 您可以使用以下示例 -
之后,您可以再次运行
writeDataToSqlieStore()
方法 .希望有所帮助 .