이 메서드를 처음 사용할 때 제대로 작동하지만 두 번째로 호출 할 때 "변경 메서드가 불변 개체로 전송 됨"오류가 발생합니다. 문제는 "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];
} NSUserDefaults에 대한 문서로
문제는 placesT 초기화에 있습니다. 내 내기는 처음에는 NSUserDefault 표준이 비어 있고 두 번째 init로 이동합니다. 당신은 또한 메모리 누수가 있습니다. – Radu
'[NSString stringWithFormat : @ "% @", tagF.text]'를'tagF.text'로만 대체 할 수 있습니다. 'text'가 이미'NSString' 인 경우'+ stringWithFormat :'을 보낼 필요가 없습니다. –