0

NSUserDefaults plist にある NSNumber Plist エントリにアクセスしようとしています。最初は 0 に設定されていますが、この値を確認するためにアクセスしようとすると、null と imi として戻ってきますが、理由がわかりません。

これは私が使用しているコードです

 // setup user defaults ready for use
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

    // gets the current data base version stored in default prefs plist
    NSNumber *currentDataVersion = [prefs objectForKey: @"CurrentDBV"];

    // Check Current DataVersion
    NSLog(@"current dbv = %@", currentDataVersion); // logs (NULL)

アプリデリゲートの applicationDidBecomeActive でこのコードを使用しています。

4

2 に答える 2

1

U NSUserDefaultにオプションがあります:

 – setFloat:forKey:
 – setInteger:forKey:
 – setDouble:forKey:

今それを取得します:

 – floatForKey:
 – integerForKey:
 – doubleForKey:

たとえば、次のようにします。

[[NSUserDefaults standardUserDefaults] setFloat:3.15 forKey:@"key"];
float value = [[NSUserDefaults standardUserDefaults] floatForKey:@"key"];
NSLog(@"value: %.0f", value);
于 2012-09-25T04:37:27.837 に答える
0

これを試してください [prefs setObject:[NSNumber numberWithFloat:3.00] forKey: @"CurrentDBV"];

NSLog(@"現在の dbv = %f", [currentDataVersion floatValue]); // ログ (NULL)

于 2012-09-25T01:39:02.097 に答える