【问题标题】:Saving and loading label for first app launch为首次应用启动保存和加载标签
【发布时间】:2016-03-17 13:58:29
【问题描述】:

我正在使用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"];    

【问题讨论】:

  • 你有什么问题......?
  • 使用启动应用程序时从NSUserDefaults 加载值的代码更新您的问题。
  • “用户下载应用”是什么意思
  • @SahebRoy 例如,如果它在应用商店中并且您下载了它,则标签值将设置为空,直到用户开始使用它,所以我想通过在里面保存一些东西来填充那个空白空间暂时在那里。

标签: ios uilabel nsuserdefaults


【解决方案1】:

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

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

【讨论】:

  • 很高兴我能帮上忙。如果可以,请不要忘记接受表明您的问题已解决的答案。
  • 是的,它说我必须等待 2 分钟,这就是为什么我还没有
【解决方案2】:

如果你知道你想要 myString 的值,那么你可以将默认值设置为包的一部分,或者当你尝试检索它时,如果返回值是,则使用默认值(或显示“未知”)无

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 2020-01-01
    • 1970-01-01
    相关资源
    最近更新 更多