0

私はNSMutableDictionaryオブジェクトを持っていますobj。を使用してディスクに書き込むと [obj writeToFile:filename atomically:YES]、ファイルがディスクに書き込まれません。しかし、同じステートメントのセットは、より小さな変更可能なディクショナリでも機能します。

1 つ目obj(nonatomic, retain)、クラスのプロパティ オブジェクトです。2 番目に小さいのobjは、一時的なローカル変数です。

4

2 に答える 2

2

しかし、同じステートメントのセットは、より小さな変更可能なディクショナリでも機能します。

それは警告ベルを鳴らします。つまり、大きなディクショナリをディスクに書き込もうとしているとき、何が入っているのでしょうか? NSDictionary のファイル書き込みメソッドのいずれかを使用している場合、プロパティ リストでの使用が許可されているクラスのインスタンスのみを含む辞書でのみ機能します。

つまり、そこにランダムな他のクラスがある場合、辞書は書き込まれません。クラスが NSCoding をサポートしているかどうかは関係ありません。

非プロパティ リスト クラスを含むディクショナリを保持する必要がある場合は、NSCoding を使用するか、Core Data を使用することをお勧めします。

于 2009-09-24T22:41:21.230 に答える
0

これはうまくいくはずです。偶然でobjはないことを確認しましたか?nil

于 2009-09-24T20:35:09.693 に答える