2014-02-24 3 views
0

NSObject 클래스 값을 업데이트하려고합니다. 그러나 나는 전체 객체를 업데이트하는 방법을 모르겠습니다 ...하나의 NSObject를 다른 것으로 대체하고 coredata에 저장하십시오.

for (Items *item in mutableArrayOfSet) { 
     if ([updatedItem.rowID isEqualToString:item.rowID]) { 

      item = updatedItem; 
    } 
} 

항목 내 없음 upated 항목과 updatedItem ... 나는이 세트의 현재 항목을 덮어 쓸 것을 시도하고 같은 NSObject의 클래스 유형의

item = updatedItem; 

이 코드 그러나이 라인 오류가 발생했습니다.

Fast enumeration variables can't be modified in ARC by default; declare the variable __strong to allow this 

어떤 도움을 주시면 감사하겠습니다. 당신이 빠른 ennumeration를 사용하지 않는 수행 할 수있는

답변

1

항목 = updatedItem을;

이것은 반복 변수의 값을 설정하는 것일 뿐이며 mutableArrayOfSet에 대해서는 아무 것도 변경하지 않습니다. 당신이 무엇을해야

는 반복하면서 변화의 집합을 만든 다음 반복이 완료된 후 소스 객체에 변경 사항을 저장하는 것입니다.

0

. 일반 for 루프 사용

for (int i=0; i<mutableArrayOfSet.length; i++) 
{ 
    item = [mutableArrayOfSet objectAtIndex:i]; 
    .... 
    [mutableArrayOfSet replaceObjectAtIndex:i withObject:updatedItem]; 
} 
0

당신은 컴파일러에 의해 제안 무엇을 왜 할까?

for (__strong Items *item in mutableArrayOfSet) { 
     if ([updatedItem.rowID isEqualToString:item.rowID]) { 

      item = updatedItem; 
    } 
} 
관련 문제