我从网络电话中获取JSOn并将其解析为:
Alamofire.request(url, method: .get, parameters: nil, encoding: JSONEncoding.default)
.responseJSON { response in
if let status = response.response?.statusCode {
switch(status){
case 200:
self.allResponse = response.result.value as! NSDictionary
if let categories = self.allResponse.value(forKey: "categories") as? [[String: AnyObject]] {
for category in categories {
self.categories.append(Category(dict: category))
}
}
self.collectionView.reloadData()
default:
print("error with response status: \(status)")
}
}
}
代码获取数据并成功解析。现在我想将这些数据保存在我已经制作的CoreData实体中。我是var categories = [Category]()
中的所有类别,我想使用魔法记录将其复制到核心数据的实体中。我之前已经在CoreData上保存了值,但它们是一个接一个的。现在,我需要存储在coredata中的数组中的所有数据堆栈。我怎样才能做到这一点?
答案 0 :(得分:0)
您可以保存这样的数据。
func saveToDataBase( _ saveData:[Category]){
for data1 in data{
let request:NSFetchRequest<Category> = Category.fetchRequest()
request.predicate = NSPredicate(format: "id == %@", (id to check previously save or not)
do {
let count = try managedObjectcontext.count(for: request)
if count == 0 {
// save data according to your requirement.
print(data1)
}else{
//if anything you want to update then wright here
}
}catch{
let error = error as NSError
print("\(error)")
}
}
}
我已经回答了这个问题。希望它会对你有所帮助。如果你想在这里看到coredata经理,我已经sample project