- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSUserDefaults *somet = [NSUserDefaults standardUserDefaults];
NSMutableArray *anArr = [somet objectForKey:@"somedata"] ;
NSLog(@"anArr::: %@",anArr);
}
-(IBAction)addsomething:(id)sender{
if (something == nil) {
array = [[NSMutableArray alloc] init];
}
NSLog(@"textfieldvalue::: %@", textfield.text);
[array addObject:textfield.text];
NSUserDefaults *something = [NSUserDefaults standardUserDefaults];
[something setObject:array forKey:@"somedata"];
array = [something objectForKey:@"somedata"];
NSLog(@"array:: %@", array);
}
、私はNSMutableArrayの中で動的にデータを保存しようとした後、NSUserDefaultsでそれを保存しています。しかし、それを取得すると、私は(null)を取得しています。データも配列に保存されていません。NSMutableArrayのとNSUserdefaults発行iPhone
データを正しく保存するにはどうすればよいですか?
EDITED:
2012-03-15 15:17:18.431 check[2686:40b] anArr::: (null)
2012-03-15 15:17:30.160 check[2686:40b] textfieldvalue::: a
2012-03-15 15:17:30.162 check[2686:40b] array::: (null)
ここで、 'array'をどのように初期化しますか?さらに、 'objectForKey:'は可変配列インスタンス( 'NSMutableArray')を返しません。 –
私の質問を編集したことを確認してください –
今はもっと混乱します。なぜ 'nil'に' something'をチェックするのですか?まだ初期化されていません。 –