0

想知道如何将“Jeremy Arimado”的第一个值更改为不同的字符串?

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

1 回答 1

2

@[]文字产生一个NSArray实例,它是不可变的。以同样的方式也@{}产生一个NSDictionary, 不可变的。

您必须先获取对象的可变副本,然后才能对其进行修改。

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

另一种方法是直接使用NSMutableDictionaryand NSMutableArray,但您不能直接使用文字语法

于 2013-11-04T00:05:22.823 回答