用全新的 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")