嘿我正在尝试在应用代理之外的应用中初始化一个领域对象。
现在,由于我的应用程序中的大量文件正在访问领域文件,我决定全局声明它。
现在,通过这样做,我得到了一个应用程序拒绝,推理因此对象而崩溃。我的代码如下
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
方法在其他类中调用它,并且它总是崩溃。