-1
如下所示的代码,它不会让我回退可变数组。我在我的可变数组中有3个注释,但是一旦关闭了我的应用程序并再次打开它,它就会显示我0个对象。我不知道为什么当我收回我的数组时,我正在获取O对象!任何想法?NSMutableArray使用NSUserDefaults进行NSData转换
-(void)viewDidLoad
{
NSUserDefaults *ud=[NSUserDefaults standardUserDefaults];
if([ud boolForKey:@"save-exist"])
{
NSMutableArray *udAnnotations=[[NSMutableArray alloc]initWithArray: [ud objectForKey:@"annotationsArray"]];
NSLog(@"%d",[udAnnotations count]);
}
else
{
[self addAnno];
}
}
-(void)addAnno
{
[mapView addAnnotations:annotationArray];
NSUserDefaults *ud=[NSUserDefaults standardUserDefaults];
[ud setObject:annotationArray forKey:@"annotationsArray"];
[ud setBool:YES forKey:@"save-exist"];
[ud synchronize];
}
你可以给一个提示如何将MKAnnotation归档为NSData。我第一次听到归档。对不起,我对这个环境很陌生! – casillas
顺便说一句,有arrayForKey应该处理mutablearray,我错了吗?我刚刚从应用程序文件中获得这些信息。 - (NSArray *)arrayForKey: (NSString *)defaultName – casillas
很高兴你是“新环境”。我写了一本关于iOS编程的书,可能会对您有所帮助。如果您在编程之前学习基础知识,则不会提出被降低和关闭的问题。 – matt