Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift Userdefault不在didFinishLaunchingWithOptions方法中存储值_Swift - Fatal编程技术网

Swift Userdefault不在didFinishLaunchingWithOptions方法中存储值

Swift Userdefault不在didFinishLaunchingWithOptions方法中存储值,swift,Swift,我试图在应用程序启动时使用Userdefault存储一些值。在这里,我将userdefault存储代码放在appdidfinishlaunching方法中,并尝试将值放入我的主viewcontroller。应用程序第一次启动时间不是接收值,而是第二次接收值。如何解决这个问题 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.Launc

我试图在
应用程序启动时使用
Userdefault
存储一些值。在这里,我将userdefault存储代码放在
appdidfinishlaunching
方法中,并尝试将值放入我的主
viewcontroller
。应用程序第一次启动时间不是接收值,而是第二次接收值。如何解决这个问题

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

        if ((UserDefaults.standard.object(forKey: "From_Name") == nil) && (UserDefaults.standard.object(forKey: "To_Name") == nil)) {

            // Override point for customization after application launch.
            UserDefaults.standard.set("0", forKey: "DFrom_ID") //setObject
        }
我的主视图控制器

 override func viewDidLoad() {
        super.viewDidLoad()

        print("\(UserDefaults.standard.string(forKey: "DFrom_ID"))")

        return true
    }

从MainViewController中的ViewDidLoad到ViewDidAspect方法中删除代码。

您的代码有点混乱<代码>返回真值
属于
didfishlaunchingwithoptions
和“DFrom_ID”!=“从您的ID”。该行为是正常的,因为视图控制器中的
viewDidLoad
调用早于
didfishlaunchwithoptions
。如果我在viewDidLoad中存储,它也不会在第一时间@vadian存储您在
viewDidLoad
print中获得的内容?可以添加断点并进行调试吗it@vadian我认为
didfishlaunchingwithoptions
是在
viewdiload
@Sh_Khan之前调用的,根据我的经验,它不是。
func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated);
    print("\(UserDefaults.standard.string(forKey: "DFrom_ID"))")
}