appdelegate.swift中的域不能处理其他文件

时间:2018-04-11 12:41:02

标签: ios swift realm swift4

这可能很简单,但我在这里做错了什么:

我的appdelegate.swift中有这个:

func application(_ application: UIApplication,     didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.

    //configure Firebase
    FirebaseApp.configure()

let realm = try! Realm()

    return true
}

然后我想在我的视图控制器文件中使用它来引用它:

do {
        try realm.write {
            realm.add(workoutData)
        }
    } catch {
        print("Sorry no good")
    } 

但它表示"使用未解析的标识符''"。

但是我认为投入app delegate的重点是你不需要做的事情让letm =尝试!境界()'在每个视图控制器上?

我有一个firebase实例,它通过以下方式在appdelegate中配置:

    FirebaseApp.configure()

并且工作正常。

我在这里遗漏了什么吗?我无法找到另一个基本上覆盖这个问题的答案(有一些与迁移有关),所以我假设这很简单!

1 个答案:

答案 0 :(得分:0)

David Pastor为我回答了这个问题。

对于任何以这种方式出现的新手......

你不应该把它声明为一个全局变量,因为这会导致问题,因为你的应用程序可以扩展,如果你这样做,那么我完成它的方式也不会是正确的!