【发布时间】:2018-06-13 14:37:27
【问题描述】:
我正在尝试最基本的核心数据实现,但由于某种原因,我似乎无法让它工作。
我从服务器上的 json 文件中获取数据并像这样保存数据:
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
context.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
let users = NSEntityDescription.insertNewObject(forEntityName: "Users", into: context)
Alamofire.request(jsonLocation).responseJSON { (responseData) -> Void in
if((responseData.result.value) != nil) {
let swiftyJsonVar = JSON(responseData.result.value!)
for (_, value) in swiftyJsonVar {
let name = value["name"].stringValue
let age = value["age"].stringValue
//print("User: \(name)(\(age)).")
users.setValue(name, forKey: "name")
users.setValue(rank, forKey: "age")
do {
try context.save()
print("Saved..... ")
} catch {
print("save error")
}
}
} else {
print("response is nil")
}
}
当我尝试使用以下方式查看数据时:
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Users")
request.returnsObjectsAsFaults = false
do {
let results = try context.fetch(request)
if results.count > 0 {
for result in results as! [NSManagedObject] {
if let userName = result.value(forKey: "name") as? String {
print(userName)
}
}
} else {
print("no records found")
}
} catch {
print("did not get")
}
控制台打印
山德
20 人名单中的姓氏是哪一个。有什么想法吗?
【问题讨论】: