在类和内部声明变量

时间:2018-01-07 22:00:52

标签: ios swift variables realm appdelegate

嘿我正在尝试在应用代理之外的应用中初始化一个领域对象。

现在,由于我的应用程序中的大量文件正在访问领域文件,我决定全局声明它。

现在,通过这样做,我得到了一个应用程序拒绝,推理因此对象而崩溃。我的代码如下

AppDelegate.swift

import UIKit
import RealmSwift

var uiRealm = try! Realm()

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, MessagingDelegate {

var window: UIWindow?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    return true
}

在上面的代码中,对象在应用程序启动时进行初始化,并加载任何其他方法。

我是否可以声明一个对象或输入Realm并在didFinishLaunching下初始化它,如下所示:

import UIKit
import RealmSwift

var uiRealm : Realm!

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, MessagingDelegate {

var window: UIWindow?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    // I initialise it here
    uiRealm = try! Realm()
    return true
}

如果它以这种形式声明它是否会有所作为。我对此有点胆怯。

非常感谢任何帮助。

P.S:我已经尝试在app委托中声明领域变量,并通过UIapplication.shared.delegate方法在其他类中调用它,并且它总是崩溃。

0 个答案:

没有答案