我希望能够在另一个文件中的一个文件中使用变量。
例如,我在一个视图控制器中创建了一组核心数据项,但是我想在另一个视图控制器中使用它。
答案 0 :(得分:2)
核心数据用于管理应用程序中的模型层对象。为什么在一个视图控制器中创建一组核心数据项?
根据Core Data Programming Guide,您应该对核心数据栈进行初始化。
就像
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)")
}
答案 1 :(得分:1)
您可以像这样在ViewControllerB中创建一个属性,
class ViewControllerB: UIViewController {
var dataItems: [DataItem] = []
}
因此,当您从ViewControllerA导航到ViewControllerB时,可以将数据设置为如下所示的属性,
let viewControllerB = ViewControllerB()
viewControllerB.dataItems = [...]
navigationController?.pushViewController(viewControllerB, animated: true)
希望这会有所帮助!