iPhoneアプリを開発し、標準のNSUserDefaultsメカニズムを介して設定を保存しようとすると、非常に一貫性のない結果が発生します。私はEricaSadunによるiPhoneDeveloper'sCookbook(素晴らしい本)からほぼ直接コードを使用しています。次のようになります。
(void)updateDefaults
{{
NSMutableArray *pells = [[NSMutableArray alloc] init];
NSMutableArray * locs = [[NSMutableArray alloc] init];
for(DragView * dv in [boardView subviews])
{{
[spells addObject:[dv whichSpell]];
[locs addObject:NSStringFromCGRect([dv frame])];
}
[[NSUserDefaults standardUserDefaults] setObject:spells forKey:@ "spells"];
[[NSUserDefaults standardUserDefaults] setObject:locs forKey:@ "locs"];
[[NSUserDefaultsstandardUserDefaults]同期];
[呪文の解放];
[locsリリース];
}
値は保存されることもあれば、復元されることもあります。何が機能するのか、何が機能しないのかについて正確なビーズを取得することはできません。
他の誰かが同じような経験をしていますか?何がそれを機能させるのかについての提案はありますか?同期方法は、ディスクへの書き込みを強制して値を保存するための最良の方法ですか、それともより良いものがありますか(本番環境とシミュレーターの両方)。
ありがとうライアン