簡體   English   中英

我無法存儲或讀取NSUserDefaults

[英]I can't store or read NSUserDefaults

似乎出了點問題,我無法在代碼中存儲或讀取NSUserDefaults:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

NSArray * defaultKeys = [NSArray arrayWithObjects:
                                    @"FirstViewComposer",
                                    @"ProfileNickname",
                                    @"ProfileGender",
                                    @"ProfileDateOfBirth",
                                    @"ProfileFavoriteColor",
                                    @"ProfileHeight",
                                    nil];


NSArray * defaultValues = [NSArray arrayWithObjects:
                                    @"YES",
                                    @"Me",
                                    @"Male",
                                    @"08 Dec 1983"
                                    @"Red",
                                    @"183",
                                    nil];

 NSDictionary *appDefaults = [NSDictionary dictionaryWithObject:defaultValues forKey:defaultKeys];


 [defaults registerDefaults:appDefaults];

 NSLog(@"%@", [defaults stringForKey:@"FirstViewComposer"]); //null

謝謝

更新 :現在我已同步,實際上它們已存儲,但是我可能沒有正確檢索它們:

2011-08-23 17:16:06.932 Sansnuage[1404:b603] defaults: (
        (
        en,
        fr,
        de,
        ja,
        nl,
        it,
        es,
        pt,
        "pt-PT",
        da,
        fi,
        nb,
        sv,
        ko,
        "zh-Hans",
        "zh-Hant",
        ru,
        pl,
        tr,
        uk,
        ar,
        hr,
        cs,
        el,
        he,
        ro,
        sk,
        th,
        id,
        "en-GB",
        ca,
        hu,
        vi
    ),
    1,
        (
        YES,
        Me,
        Male,
        "08 Dec 1983Red",
        183
    ),
    "en_US",
        (
        "en_US@hw=US;sw=QWERTY"
    ),
        (
        en,
        fr,
        de,
        ja,
        nl,
        it,
        es,
        pt,
        "pt-PT",
        da,
        fi,
        nb,
        sv,
        ko,
        "zh-Hans",
        "zh-Hant",
        ru,
        pl,
        tr,
        uk,
        ar,
        hr,
        cs,
        el,
        he,
        ro,
        sk,
        th,
        id,
        "en-GB",
        ca,
        hu,
        vi
    ),
    macintosh
) 

您必須先同步數據,然后才能從磁盤檢索數據。 為此,您應該使用同步方法。

更新:您應該更改嘗試存儲appDefaults NSDictionary的方式。 嘗試:

#define kAppDefaultEnty @"AppDefaultsEntry"
[defaults setObject:appDefaults forKey:kAppDefaultEnty];

然后同步它:

[defaults synchronize];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM