如何使变量可从其他swift文件访问?

时间:2019-05-20 00:16:09

标签: ios swift xcode

我希望能够在另一个文件中的一个文件中使用变量。

例如,我在一个视图控制器中创建了一组核心数据项,但是我想在另一个视图控制器中使用它。

2 个答案:

答案 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)

希望这会有所帮助!