Захаванне дадзеных на iPhone прыкладанне

Я хачу захаваць некаторыя пачатковыя значэнні параметраў, зададзеных карыстальнікам, калі праграма працуе ў першы раз, калі значэння захоўваюцца не павінен з'яўляцца ў наступны раз. Як захаваць гэтыя значэнні ўнутры прыкладання. Некаторыя прапанавалі выкарыстоўваць <�моцны> .plist , пакуль шукаў адносна гэтага. Гэта правільны падыход? або ці ёсць больш просты варыянт даступны?

0

8 адказы

Я хацеў бы прапанаваць захаванне інфармацыі ў масіве, а затым захаваць масіў на NSUserDefaults одноплодной, які інтэграваны на прыладзе. Такім чынам, вы заўсёды можаце атрымаць доступ да інфармацыі з любой кропкі свету.

Майце на ўвазе, што гэты падыход з'яўляецца адзіным жыццяздольным, калі інфармацыя досыць малая.

Каб зэканоміць на класе NSUserDefaults:

[[NSUserDefaults standardUserDefaults] setObject:yourMutableArray forKey:@"Key"];

Каб атрымаць значэнне:

NSMutableArray *array = [NSMutableArray arrayWithArray:[[NSUserDefaults standardUserDefaults] 
                                        objectForKey:@"Key"]];
3
дададзена
Ці будзе значэнне ў NSUserDefaults будзе захавана нават пасля таго, як я зачыніў маё прыкладанне і зноў адкрыта?
дададзена аўтар Dolo, крыніца
Так, яны будуць захаваны, гэта Сінглтан клас, які заўсёды працуе, нават калі дадатак закрытая. Гэты клас працуе для ўсіх прыкладанняў, не забудзьцеся даць яму унікальны ключ, так што вы можаце атрымаць яго пазней.
дададзена аўтар Joze, крыніца

Калі вы хочаце захаваць ня зашыфраваныя дадзеныя, вы можаце выкарыстоўваць NSUserDefaults :

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:txtfield1.text forKey:@"info1"];
[defaults setObject:txtfield2.text forKey:@"info2"];
[defaults synchronize];
2
дададзена

Самы просты варыянт, каб захаваць гэтыя значэнні ў выглядзе пары ключ-значэнне ў NSUserDefaults.

 NSUserDefaults *stdDefaults = [NSUserDefaults standardUserDefaults];
 if([stdDefaults objectForKey:@"APP_OPENED"] == FALSE)
 {
      [stdDefaults setValue:@"YOUR_VALUE" forKey:@"YOUR_KEY"];
           //Store more values if you wish
      [stdDefaults setBool:YES forKey:@"APP_OPENED"];
      [stdDefaults synchronize];
 }
2
дададзена

Калі яна ўключае ў сябе паролі, лепш выкарыстоўваць брелка. У адваротным выпадку, NSUserDefaults будзе добрым выбарам ...

1
дададзена

Вы можаце выкарыстоўваць NSUserDefaults , які можа захоўваць дадзеныя

Read apple's doc

1
дададзена

Я хацеў бы прапанаваць, выкарыстоўваючы NSUserDefaults . Нешта накшталт гэтага:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
BOOL hasOpenedAppBefore = [defaults boolForKey:@"hasOpenedAppBefore"];

[defaults setBool:YES forKey:@"hasOpenedAppBefore"];
1
дададзена

Выкарыстоўвайце NSUserDefaults для захоўвання дадзеных. Захаваныя дадзеныя могуць здабывацца і змяняцца па меры неабходнасці.

Read NSUserDefaults Class Reference

Read Tutorial

1
дададзена

NSUserDefaults з'яўляецца лепшым варыянтам для захоўвання дадзеных усярэдзіне прыкладання, і вы можаце лёгка выкарыстоўваць яго па ўсім дадаткам.

0
дададзена