長い配列をNSUserDefaults
に格納して取得するにはどうすればよいですか?ここでNSUserDefaultsから長い配列を格納および取得する
は私の長い列がどのように見えるかです:
long *arr;
arr = new long [10];
for(int i = 0 ; i<10 ; i++)
{
arr[i] = i;
}
は、今私はNSUserDefaults
にこのarr
を格納し、NSArrayを使用することにより、後に
長い配列をNSUserDefaults
に格納して取得するにはどうすればよいですか?ここでNSUserDefaultsから長い配列を格納および取得する
は私の長い列がどのように見えるかです:
long *arr;
arr = new long [10];
for(int i = 0 ; i<10 ; i++)
{
arr[i] = i;
}
は、今私はNSUserDefaults
にこのarr
を格納し、NSArrayを使用することにより、後に
オブジェクトはNSUserDefaultsにのみ格納できます。したがって、配列をNSArray
に変換する必要があります。
//saving
NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *arrayObj = [[NSMutableArray alloc] init];
long *arr;
arr = new long [10];
for(int i = 0 ; i<10 ; i++) {
[arrayObj addObject:[NSNumber numberWithLong:arr[i]]];
}
[standardDefaults setObject:arrayObj forKey:@"longArray"];
[arrayObj release];
//reading
NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
NSArray *arrayObj = [standardDefaults objectForKey:@"longArray"];
long *arr;
arr = new long [10];
for(int i = 0 ; i<10 ; i++) {
arr[i] = [(NSNumber*)[arrayObj objectAtIndex:i] longValue];
}
それを取得したい - ではない通常のC-配列
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
[standardUserDefaults setObject:myNSArray forKey:@"Prefs"];
Retrieve:
NSArray *array = [standardUserDefaults objectForKey:@"Prefs"];
をし、どのようにそれを取得するために:しかし、NSArraysだけストアオブジェクトので、あなたは
NSNumber
オブジェクトにカプセル化long
値を保存する必要がありますか? –