[英]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.