我希望能够在另一个文件中使用一个变量。
例如,我在一个视图控制器中创建了一系列核心数据项,但是我想在另一个视图控制器中使用它。
核心数据是管理应用程序中的模型层对象。为什么在一个视图控制器中创建核心数据项数组?
根据核心数据编程指南,您应该进行初始化核心数据堆栈的初始化。
就像
class MyDataController: NSObject {
var persistentContainer: NSPersistentContainer!
// ...
}
您几乎可以在每个文件中获取它。就像:
let moc = …
let employeesFetch = NSFetchRequest(entityName: "Employee")
do {
let fetchedEmployees = try moc.executeFetchRequest(employeesFetch) as! [EmployeeMO]
} catch {
fatalError("Failed to fetch employees: (error)")
}
您可以在viewControllerb中创建一个属性,
class ViewControllerB: UIViewController {
var dataItems: [DataItem] = []
}
因此,当您从ViewControllera导航到ViewControllerb时,您可以将数据设置为以下类似的属性,
let viewControllerB = ViewControllerB()
viewControllerB.dataItems = [...]
navigationController?.pushViewController(viewControllerB, animated: true)
希望这会有所帮助!