将NSArray保存到NSUserDefaults并将其保存在NSMutableArray中

Ome*_*han 36 iphone cocoa-touch objective-c ios

我如何保存NSArrayNSUserDefaults,然后加载回以NSMutableArray填充UIPickerView

此外,问题是将新值添加到该值NSMutableArray,然后该数组将被转换为NSArray保存NSUserDefaults(因为NSMutableArray无法保存NSUserDefaults).

任何帮助赞赏..

谢谢

Vig*_*esh 109

 [[NSUserDefaults standardUserDefaults] setObject:yourMutableArray forKey:@"Key"];
Run Code Online (Sandbox Code Playgroud)

可以存储可变数组,因为它是NSArray的子​​类.

要获取NSMutableArray的值:

NSMutableArray *array = [NSMutableArray arrayWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"Key"]];
Run Code Online (Sandbox Code Playgroud)

要么

NSMutableArray *array = [[[NSUserDefaults standardUserDefaults] objectForKey:@"Key"] mutableCopy];
Run Code Online (Sandbox Code Playgroud)


Jon*_*nny 9

// Store it
    [[NSUserDefaults standardUserDefaults] setObject:yourMutableArray forKey:@"Key"];
    [[NSUserDefaults standardUserDefaults] synchronize];

// Read it back
    NSMutableArray* myMutableArrayAgain = [NSMutableArray arrayWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"Key"]];
Run Code Online (Sandbox Code Playgroud)