我对保存NSMutableArray
到有点陌生NSUerdefaults
。
这是 iVar 的声明:.h 文件
@interface GameData : NSObject {
NSMutableArray *PPLayers;
}
@property (nonatomic,retain) NSMutableArray *PPLayers;
.m 文件
@synthesize PPLayers;
这是我如何将对象添加到数组并将其保存为默认值:
-(void)AddObject:(NSString *) object ToArray:(NSMutableArray*)array{
if (array == PShoes) {
[PShoes addObject:object];
NSLog(@"Object : %@",object);
[[NSUserDefaults standardUserDefaults]setValue:PPLayers forKey:@"pplayers"];
[[NSUserDefaults standardUserDefaults]synchronize];
NSLog(@"%@",PPLayers);
}
有时它可以工作,有时应用程序崩溃。
这是我尝试加载数组的方式:
PPLayers = [[NSUserDefaults standardUserDefaults]mutableArrayValueForKey:@"pplayers"];
这里出了点问题,但我不知道是什么。有时当我加载它时它会给我null
。该应用程序仅在我从模拟器运行时才保存。我想得到一些帮助。谢谢!