1

エンティティを単純にループしようとしている次のコードがあり、NSPropertyDescription 名ごとに、それを Mutable 文字列に追加して、さらに文字列を作成します。

   - (void) createCSV {
    NSEntityDescription *anEntity = [NSEntityDescription entityForName:@"Missions" inManagedObjectContext:self.missionDatabase.managedObjectContext];

    NSMutableString *csvString = [NSString string];

    for (NSPropertyDescription *property in anEntity) {
        [csvString appendString:property.name];
    }
    NSLog(@"%@",csvString);
}

次のコードを実行するときの問題は、

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Attempt to mutate immutable object with appendString:'

何が間違っているのかわかりません。NSString を NSMutableString に追加できませんか?

4

1 に答える 1

1

もう一度見てください。csvString可変ではありません。を作成していNSStringます。を作成すると、NSMutableString次のようになります。

 NSMutableString *csvString = [NSMutableString string];
于 2012-08-15T02:30:40.967 に答える