[英]ios Cannot convert value of type '()' to expected argument type 'String' swift 3
[英]Cannot convert value of type 'String' to expected argument type 'NSManagedObject' Swift
我想知道为什么不能将核心数据中的数据添加到表视图中。 它是第一次添加和存储的,但是当重新加载应用程序时,数据已经消失了,所以我需要重新加载它,但是似乎无法将数据添加到我的tableview中? 这是代码
var titlename: [NSManagedObject] = []
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(true)
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let manageContext = appDelegate.persistentContainer.viewContext
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Items")
fetchRequest.returnsObjectsAsFaults = false
do {
let results = try manageContext.fetch(fetchRequest)
for result in results as! [NSManagedObject] {
if let theName = result.value(forKey: "name") as? String {
titlename.append(theName)
}
}
} catch let error as NSError {
print("Could not fetch. \(error), \(error.userInfo)")
}
tableView.reloadData()
}
您可能需要将titleName类型更改为
var titlename: [String] = []
如果tableview使用NSManagedObject
创建单元格,只需将NSManagedObject
数据添加到数组中。
for result in results as! [NSManagedObject] {
titlename.append(result)
}
要么
tableview仅使用titlename
数组中的字符串来创建单元格,然后只需将NSManagedObject
类型更改为String
。
var titlename: [String] = []
这会有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.