用全新的 Swift 应用替换 Objective-C iOS 应用,同时保留 NSUserDefaults 的值
Replacing an Objective-C iOS app with a brand new Swift app while keeping values from NSUserDefaults
关于用全新应用程序替换旧应用程序,我有一个一般性问题。旧应用程序已有数年历史,是用 Objective-C 编写的,我正在 Swift 从头开始开发更新。
我想知道如何从存储在 NSUserDefaults
中的名为“email_preference
”的旧应用程序中保留一个变量。更新完成后如何访问变量,以及如何测试我是否正确获取变量(我觉得我必须第一次正确执行否则值将丢失)?
这些是我在旧代码中发现的提及:
//Saves the email
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:self.email.text forKey:@"email_preference"];
//Gets the email
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *email = [defaults objectForKey:@"email_prefe
谢谢。
如果 "new" 应用程序与 "old" 应用程序具有相同的包标识符,您可以像这样获取保存的电子邮件:
let email = UserDefaults.standard.object(forKey: "email_preference")
关于用全新应用程序替换旧应用程序,我有一个一般性问题。旧应用程序已有数年历史,是用 Objective-C 编写的,我正在 Swift 从头开始开发更新。
我想知道如何从存储在 NSUserDefaults
中的名为“email_preference
”的旧应用程序中保留一个变量。更新完成后如何访问变量,以及如何测试我是否正确获取变量(我觉得我必须第一次正确执行否则值将丢失)?
这些是我在旧代码中发现的提及:
//Saves the email
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:self.email.text forKey:@"email_preference"];
//Gets the email
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *email = [defaults objectForKey:@"email_prefe
谢谢。
如果 "new" 应用程序与 "old" 应用程序具有相同的包标识符,您可以像这样获取保存的电子邮件:
let email = UserDefaults.standard.object(forKey: "email_preference")