ios - NSUserDefault 字符串无法检索并转换为 double

标签 ios nsstring nsuserdefaults nsnumber

我正在为 NSUserDefault 保存一个值。

原值是double,我把它转成NSNumber,然后存为字符串。 我在保存时打印了这些值,并且它们设置正确。

检索时,我获取字符串值并将其转换为 double 值。但是 string 和 double 值都没有给出任何东西。 string 给出 null,double 给出 0.000

保存

//convert filtersequcne to NSNumber...finally saved as string

            NSNumber *myDoubleNumber = [NSNumber numberWithDouble:filtersequence];
            NSLog(@"Value being stored in myDoubleNumber %@",myDoubleNumber);


            // save string with input name of filter for that key
            NSUserDefaults *combination = [NSUserDefaults standardUserDefaults];
            [combination setObject:[myDoubleNumber stringValue] forKey:input];

            NSLog(@"Value of [mydoublenumber] string value %@",[myDoubleNumber stringValue]);

取回值

//get input from saved filter
    NSUserDefaults *fetchcombination = [NSUserDefaults standardUserDefaults];

    // get the string
    NSString *message = [fetchcombination objectForKey:@"Test"];
    NSLog(@"Value of message %@",message);

    // convert string to double
    double actualdoublecombination = [message doubleValue];
    NSLog(@"Value of double actualdoublecombination %f",actualdoublecombination);

最佳答案

这是您保存/读取 double 的方式:

double value = 42.00;
[[NSUserDefaults standardUserDefaults] setDouble:value forKey:@"MyDouble"];

double value = [[NSUserDefaults standardUserDefaults] doubleForKey:@"MyDouble"];

关于ios - NSUserDefault 字符串无法检索并转换为 double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23071672/

相关文章:

objective-c - Objective C 字符串操作、查看、添加

arrays - 将数组转换为 NSAttributedString

iphone - 在 UILabel 中追加字符串?

ios - NSUserDefaults 不递增

macos - 沙盒 Mac 应用程序是否可以写入全局默认域?

ios - 在 swift 中将 AppDelegate 类声明为 'final' 是不好的做法吗?

ios - Cocoapods中没有可见的@interface

ios - 如何从 Objective-C 调用 C 函数

iOS 核心蓝牙 : active connection to the same target peripheral in app and widget simultaneously?

ios - NSUserDefaults 没有快速更新值