【发布时间】:2016-09-22 12:27:33
【问题描述】:
您好,我在 Swift 中遇到核心数据问题,当我认为它应该在控制台中返回 'Joe' + 'pass' 时,这不会显示错误但也不会打印任何内容。有人可以帮忙吗?
import UIKit
import CoreData
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
var appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
var context:NSManagedObjectContext = appDel.managedObjectContext
var newUser = NSEntityDescription.insertNewObjectForEntityForName("Users", inManagedObjectContext: context) as NSManagedObject
newUser.setValue("Joe", forKey: "username")
newUser.setValue("pass", forKey: "password")
do {
try context.save()
} catch let error {
print("Couldn't save user data")
print(error)
}
let request = NSFetchRequest(entityName: "Users")
request.returnsObjectsAsFaults = false
do {
var results = try context.executeFetchRequest(request)
results = results as! [NSManagedObject]
if results.count > 0 {
for results in results {
print(results)
}}
} catch let error as NSError {
print(error)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
【问题讨论】:
-
"for results in results" - 这真的是你的代码吗?因为那不应该编译。同时,在 for 上方的行上打断并在调试器中检查
results,它是否包含任何内容? -
昨天我在同一问题下的一篇帖子中看到了这个,当时我没有解决我的错误,我对 Swift 真的很陌生,所以只是想找到我的脚。看看这个,stackoverflow.com/questions/39592609/core-data-issue-swift
标签: ios swift core-data swift3