これに関するいくつかの質問を見てきましたが、これらが私の問題に答えているとは思いません。
私の方法では、アプリの最初の起動時にデフォルト値を設定するために使用するifステートメント内に...があります。
NSUserDefaults *myDefaults = [NSUserDefaults standardUserDefaults];
[myDefaults setObject:@"1" forKey:kNSUAccountSelection];
[myDefaults synchronize];
さらに下では、別のキーで同じことを行います。
それから私はこれを実行します...
NSString *account_name = [[accountArray objectAtIndex:[accountArray
indexOfObject:[[NSUserDefaults standardUserDefaults]
objectForKey:kNSUAccountSelection]]] objectForKey:@"Account_Name"];
エラーが発生します。
キャッチされていない例外 'NSRangeException' が原因でアプリを終了しています。
だから私は試しました...その行の直前に...
NSUserDefaults *myDefaults2 = [NSUserDefaults standardUserDefaults];
NSString *str = [myDefaults2 stringForKey:kNSUAccountSelection];
そして str は nil を返します。
私のconstants.hファイルには...
#define kNSUAccountSelection @"accountselection"
はい、accountArray はデータベースから入力され、値を持っています。
なぜ nil になっているのかわかりません。これを修正するにはどうすればよいですか? 私が読んだことから、これはうまくいくはずです。