第一次使用此方法时它可以正常工作,但第二次调用时会出现错误“将变异方法发送到不可变对象”。问题在于“addObject”命令所在的行。
-(IBAction) save: (id) sender{
NSMutableArray *placesT= [[NSUserDefaults standardUserDefaults] objectForKey:@"placesT"];
if (!placesT) {
placesT=[[[NSMutableArray alloc] init] autorelease];
}
[placesT addObject: [NSString stringWithFormat:@"%@", tagF.text] ];
NSUserDefaults *tUD=[NSUserDefaults standardUserDefaults];
[tUD setObject:placesT forKey:@"placesT"];
[tUD synchronize];
[self dismissModalViewControllerAnimated:YES];
}
[NSString stringWithFormat:@"%@", tagF.text]
替换为仅使用tagF.text
。如果text
已经是一个NSString
,则无需发送+stringWithFormat:
。 - user557219