NSArray
nullを許可しない NSDictionariesの writeToFile メソッドを使用しようとしています。ループしてそれらを見つけて空NSString
のに置き換えるだけだと思いましたが、動作させることができません。これが私が試みていることです。
編集: NSArrays と NSDictionaries は NSJSONSerialization によって作成されます。
for (NSMutableDictionary *mainDict in mainArray)
{
for(NSMutableDictionary *subDict in mainDict)
{
for(NSString *key in subDict)
{
id value = [subDict objectForKey:key];
if (value == [NSNull null])
{
[subDict setObject:@"" forKey:key];
}
}
}
}
しかし、これは例外をスローします。*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[__NSCFDictionary setObject:forKey:]: mutating method sent to immutable object'
しかし、ご覧のとおり、すべての NSDictionaries は変更可能です。
調子はどう?これを行うより良い方法はありますか?
編集:新しいバージョンを別の回答に移動しました。