私はこれについてずっとグーグルで調べましたが、解決策を見つけることができませんでした:標準の NSMutableDictionary writeToFile メソッドを使用していますが、辞書に「thumbnailURL」キーを含む複数のアイテムがある場合、失敗し続けますが、次の場合は失敗しませんこの特定のキーの使用をコメントアウトし、残りはすべて残します...私のdictには、「タイトル」キーと「サムネイルURL」キーの2つのNSStringを含む他のNSMutableDictionariesが含まれています。キーはすべて NSString です。
最初、dict は空なので、単純に追加します。
NSMutableDictionary* d = [NSMutableDictionary dictionary];
NSMutableDictionary* entry = [NSMutableDictionary dictionaryWithObjectsAndKeys:
[thumbnailURL absoluteString], @"thumbnailURL",
title, @"title",
nil];
[d setObject:entry forKey:guid];
[d writeToFile:path atomically:YES]; // returns YES on first attempt
後で、dict をロードします。
NSMutableDictionary* d = [NSMutableDictionary dictionaryWithContentsOfFile:path];
上記もデバッガに合わせて動作し、保存した項目を見ることができます。次に、guid キーを除いて、前のものと同じ別の項目を追加します。デバッガーは、アイテムがメモリ内の dict オブジェクトに正しく格納されていることを示します。最後に、同じコードで再度保存しようとしましたが、失敗し、writeToFile は NO を返します。
「thumbnailURL」キーをコメントアウトして「タイトル」のみを残すと、動作し、エラーは発生しません...
何か案が?tnx