• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

无法将类型’String’的值转换为期望的参数类型’NSManagedObject’Swift

IOS 来源:Nathan 17次浏览

我想知道为什么我无法将我的数据从核心数据添加到我的tableview。它是第一次添加和存储,但当应用程序重新加载数据已经消失,所以我需要重新加载它,但我似乎无法将数据添加到我的tableview? 下面是代码无法将类型’String’的值转换为期望的参数类型’NSManagedObject’Swift

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] = [] 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)