为首次应用启动保存和加载标签

Saving and loading label for first app launch

我正在使用 NSUserDefaults 来保存单个标签,除了在应用程序首次启动时,标签保存和加载都非常好,因此例如当用户下载应用程序时,标签在他们开始之前是空白的使用应用程序。

有没有办法使用 NSUserDefaults 为应用程序的首次启动加载默认 abel?

viewDidLoad:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[label setText:[defaults objectForKey:@"myString"]];

IBAction:

NSUserDefaults *defualts = [NSUserDefaults standardUserDefaults];
NSString *saveString = label.text;
[defualts setObject:saveString forKey:@"myString"];    

如果您知道 myString 的值,那么您可以将默认值设置为包的一部分,或者当您尝试检索它时,使用默认值(或显示 'unknown' ) 如果返回值为 nil

显然,第一次应用是 运行,NSUserDefaults 中没有值。只需像这样更新您的 viewDidLoad 方法:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *title = [defaults objectForKey:@"myString"];
if (!title) {
    title = @"Some Default Title"; // update as needed
}
label.text = title;