私はNSMutableDictionaryオブジェクトを持っていますobj
。を使用してディスクに書き込むと
[obj writeToFile:filename atomically:YES]
、ファイルがディスクに書き込まれません。しかし、同じステートメントのセットは、より小さな変更可能なディクショナリでも機能します。
1 つ目obj
は(nonatomic, retain)
、クラスのプロパティ オブジェクトです。2 番目に小さいのobj
は、一時的なローカル変数です。
私はNSMutableDictionaryオブジェクトを持っていますobj
。を使用してディスクに書き込むと
[obj writeToFile:filename atomically:YES]
、ファイルがディスクに書き込まれません。しかし、同じステートメントのセットは、より小さな変更可能なディクショナリでも機能します。
1 つ目obj
は(nonatomic, retain)
、クラスのプロパティ オブジェクトです。2 番目に小さいのobj
は、一時的なローカル変数です。
しかし、同じステートメントのセットは、より小さな変更可能なディクショナリでも機能します。
それは警告ベルを鳴らします。つまり、大きなディクショナリをディスクに書き込もうとしているとき、何が入っているのでしょうか? NSDictionary のファイル書き込みメソッドのいずれかを使用している場合、プロパティ リストでの使用が許可されているクラスのインスタンスのみを含む辞書でのみ機能します。
つまり、そこにランダムな他のクラスがある場合、辞書は書き込まれません。クラスが NSCoding をサポートしているかどうかは関係ありません。
非プロパティ リスト クラスを含むディクショナリを保持する必要がある場合は、NSCoding を使用するか、Core Data を使用することをお勧めします。
これはうまくいくはずです。偶然でobj
はないことを確認しましたか?nil