2013-11-04 2 views
0

"Jeremy Arimado"의 첫 번째 값을 다른 문자열로 변경하는 방법이 궁금합니다.이 배열의 값 변경

crewData = @[ 
       @{ 
        @"roleNameAr": @"Jeremy Arimado", 
        @"rolePhoneAr":@"123456", 
        }, 
       @{ 
        @"roleNameAr": @"Jeremy Arimado 2", 
        @"rolePhoneAr":@"123456", 
        }, 
       @{ 
        @"roleNameAr": @"Jeremy Arimado 3", 
        @"rolePhoneAr":@"123456", 
        } 
       ]; 

답변

2

@[] 리터럴은 불변 인 NSArray 인스턴스를 생성한다. 마찬가지로, @{}NSDictionary을 생성합니다.

수정할 수 있기 전에 개체의 변경 가능한 사본을 얻어야합니다.

NSMutableArray *mutableCrewData = [crewData mutableCopy]; 
NSMutableDictionary *mutableCrewMember = [mutableCrewData[0] mutableCopy]; 
mutableCrewMember[@"roleNameAr"] = @"Foo Bar"; 
mutableCrewData[0] = mutableCrewMember; 
crewData = mutableCrewData; 

대안은 바로 그것을위한 NSMutableDictionaryNSMutableArray하지만 you cannot directly use the literal syntax을 사용하는 것입니다.