【问题标题】:NSUserDefaults not working on IOS 8 simulator [duplicate]NSUserDefaults 在 IOS 8 模拟器上不起作用 [重复]
【发布时间】:2014-10-07 06:48:07
【问题描述】:

以前我的NSUserDefaults 工作正常,但最近升级到iOS 8 后,它在我的模拟器中失败(不确定真实设备,因为我在真实设备上没有iOS 8)。我已经在iOS7 上进行了测试,它可以在模拟器和真实设备上运行。所以我不确定是iOS 8 问题还是只是iOS 8 模拟器问题。

我的问题是即使保存后它总是返回空字符串。

我的代码如下:

+(void)SetStringValueForConfigurationKey: (NSString *) _objectkey withValue:(NSString *)_value
{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults synchronize]; //let's make sure the object is synchronized
    [defaults setValue:_value forKey:_objectkey];
    [defaults synchronize];//make sure you're synchronized again
}

+(NSString *)GetStringValueForConfigurationKey: (NSString *)_objectkey
{
    //create an instance of NSUserDefaults
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults synchronize]; //let's make sure the object is synchronized
    if ([defaults stringForKey:_objectkey] == nil )
    {
        //I don't want a (null) returned
        return @"";
    }
    else
    {

        return [defaults stringForKey:_objectkey];
    }
}

有什么方法可以将模拟器升级到iOS 8.0.2?或者我怎样才能找到问题的原因?

谢谢。

【问题讨论】:

  • 你用 valueforkey 试过了吗?

标签: ios iphone xcode5 ios8


【解决方案1】:

你尝试设置

[defaults setValue:_value forKey:_objectkey];

但你以后再拿

return [defaults stringForKey:_objectkey];

请尝试

[defaults setObject:<#(id)#> forKey:<#(NSString *)#>];
[defaults objectForKey:<#(NSString *)#>];

【讨论】:

  • 感谢您的建议..
【解决方案2】:

我找到了根本原因,iOS 7 和 iOS 8 之间的行为不同。

更详细地说,我在登录屏幕中遇到了这个问题。在登录屏幕本身,我有一个选择需要用户选择,我通过“部分卷曲”转换放入另一个视图控制器。问题发生在这个过渡。

问题出在以下代码中:

-(void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear:animated];

}

在 iOS 7 中,此函数仅在首次加载时调用一次。但在 iOS 8 中,从“Partial Curl”VC 转换回原始登录 VC 时再次调用它。

这就是问题出现的地方。我在这个函数中重置了我所有的 NSUserDefaults 值,因此在 iOS 8 中,每当我存储并传输回登录 VC 时,所有值都消失了。从而返回空值。我通过更改此函数中的逻辑以适应 iOS 8 中的多次调用来解决我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-06
    • 2015-10-06
    • 2014-11-25
    • 2014-11-16
    • 2016-05-22
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    相关资源
    最近更新 更多