2013-01-14 2 views
0

배열 객체를 NSMutableArray obect에 교체하고 싶습니다. oldArray_alertsArray에서 바꾸고 그 값을 바꾸고 oldArraynewArray으로 바꾸고 싶습니다. 하지만 효과는 없습니다 !! 이 작업을 수행 한 후NSMutableArray가 대체되지 않는 개체입니까?

NSArray *oldArray = (NSArray *)[_alertsArray objectAtIndex:[indexPath row]]; 
NSMutableArray *newArray = [[NSMutableArray alloc] initWithArray:oldArray copyItems:YES]; 
[newArray replaceObjectAtIndex:3 withObject:@"YES"]; 
[_alertsArray replaceObjectAtIndex:[indexPath row] withObject:newArray]; 
+0

당신은 무엇을 확인하고 있습니다? "oldArray"에는 이전의 수정되지 않은 배열이 계속 포함됩니다. (덧붙여 말하자면,이 시나리오에서는 "oldArray"의 복사본을 만들지 않습니다.) –

+0

내가 맞으면'_alertsArray'가 변경되어야합니다. 배열에 문제가 있습니까? – iDev

+0

시간을 내 주셔서 감사합니다. 그건 내 실수 였어. 이제 해결되었습니다. –

답변

0
NSMutableArray *newArray = [_alertsArray mutableCopy]; 
[newArray replaceObjectAtIndex:3 withObject:@"YES"]; 
_alertsArray = newArray; 
관련 문제