在核心数据swift ios中使用未解析的标识符“模型”
Posted
技术标签:
【中文标题】在核心数据swift ios中使用未解析的标识符“模型”【英文标题】:Use of unresolved identifier "Model" in core data swift ios 【发布时间】:2018-01-12 05:39:32 【问题描述】:我将数据保存在一个名为 Forms
的实体中,但是当我调用 Forms
时,它给了我错误
一切都很好,但突然发生错误,现在让我很恼火。我不知道为什么即使没有任何语法错误。
使用未解析的标识符“Forms”
这是我的代码
import UIKit
import CoreData
@available(ios 11.0, *)
class ViewViewController: UIViewController, UITableViewDelegate, UITableViewDataSource
// var getAddController : AddViewController = AddViewController()
var fName : String?
var fDesc : String?
var formName : String?
var results : [NSManagedObject] = []
@IBOutlet weak var menu: UIBarButtonItem!
@IBOutlet weak var viewTableView: UITableView!
var manageObjectContext: NSManagedObjectContext!
var eventArray = [Forms]() // Where **Forms** is an model name
let appDel = UIApplication.shared.delegate as! AppDelegate
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Forms")
//var eventRequest: NSFetchRequest<Forms> = Forms.fetchRequest()
func loadSaveData()
let eventRequest: NSFetchRequest<Forms> = Forms.fetchRequest()
do
eventArray = try manageObjectContext.fetch(eventRequest)
self.viewTableView.reloadData()
catch
print("Could not load save data: \(error.localizedDescription)")
...
table view methods here
...
func moveToEdit()
let mainStoryBoard: UIStoryboard = UIStoryboard(name: "Main", bundle : nil)
let desController = mainStoryBoard.instantiateViewController(withIdentifier: "EditViewController") as! EditViewController
let newFrontViewController = UINavigationController.init(rootViewController:desController)
revealViewController().pushFrontViewController(newFrontViewController, animated: true)
override func viewDidLoad()
super.viewDidLoad()
menu.target = revealViewController()
menu.action = #selector(SWRevealViewController.revealToggle(_:))
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
let context = appDel.persistentContainer.viewContext
results = try! context.fetch(request) as! [NSManagedObject]
viewTableView.delegate = self
viewTableView.dataSource = self
viewTableView.reloadData()
request.returnsObjectsAsFaults = false
manageObjectContext = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
self.loadSaveData()
更新
从var eventArray = [Forms]()
更改为
var eventArray : [NSManagedObject] = []
func loadSaveData()
中出现错误
let eventRequest: NSFetchRequest<Forms> = Forms.fetchRequest()
使用未声明的类型“表单”
【问题讨论】:
将 var eventArray = [Forms]() 更改为 var eventArray : [NSManagedObject] = [] @Shezad 更新问题仍然错误 让 eventRequest: NSFetchRequest1.将你的 eventArray 类型更改为 NSManagedObject
var eventArray : [NSManagedObject] = []
2.为您的 loadSaveData() 方法更新代码。
func loadSaveData()
let eventRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Forms")
do
eventArray = try manageObjectContext.fetch(eventRequest) as! [NSManagedObject]
self.viewTableView.reloadData()
catch
print("Could not load save data: \(error.localizedDescription)")
【讨论】:
以上是关于在核心数据swift ios中使用未解析的标识符“模型”的主要内容,如果未能解决你的问题,请参考以下文章
使用未解析的标识符“FIRAuth”(Swift 2、Firebase 3.x)