2012-04-17 113 views
0

我是一种新的保存NSMutableArrayNSUerdefaults保存并加载NSMutableArray失败

这里是伊娃的声明: .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。 只有当我从模拟器运行它时,该应用才会保存它。 我想得到一些帮助PLZ。 谢谢!

回答

0

试试这个

  [[NSUserDefaults standardUserDefaults]setValue:PPLayers forKey:@"pplayers"]; 

     NSArray *NewPPLayers =[[NSArray alloc]initwithArray:[[NSUserDefaults standardUserDefaults]mutableArrayValueForKey:@"pplayers"]];