업데이트 됨 이것은 내 코드입니다. 코드의 마지막 줄에서 제목에 설명 된대로 오류가 발생했습니다. userDefaults가 항상 변경 불가능한 객체를 반환한다는 것을 이해합니다. 그래서 어떻게 해결할 수 있습니까? 보내는 필드를 "변경 가능한 복사본"으로 만들려고했으나 오류로 표시되었습니다.[NSCFArray replaceObjectAtIndex : withObject :] : 변경 가능한 메소드가 불변 객체로 전송되었습니다.
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if(textField.tag == kStaffName) { // get index of staffName textField
NSMutableArray *staffNamesArray = [[userDefaults arrayForKey:@"staffNamesArray"] mutableCopy];
NSInteger indexSelected = [oStaffPickerView selectedRowInComponent:0];
[staffNamesArray replaceObjectAtIndex:indexSelected withObject:textField.text];
@ njzk2 확실히 중복되지 않습니다. 코드는 이미'mutableCopy'를 사용하고 있으므로 [받아 들인 대답] (http://stackoverflow.com/a/5710719/11940)과 일치합니다. –
"if"가 화면의 오른쪽 경계선 밖에서 영리하게 숨겨져 있기 때문에 여전히 변경 불가능한 다른 배열을 수정하지 않습니까? – gnasher729
'오류로 표시되었습니다 .' 분명히 해주세요. – njzk2