本当の初心者の質問。NSValuesを含むNSMutableArrayを作成するNSViewサブクラスがあります。writetofile:atomaticallyを使用して配列をファイルに書き込みたい場合:ファイルは作成されますが、可変配列に含まれているNSValueが含まれていません。この可変配列をファイルに正常に書き込む方法を知っている人はいますか?
ありがとう
本当の初心者の質問。NSValuesを含むNSMutableArrayを作成するNSViewサブクラスがあります。writetofile:atomaticallyを使用して配列をファイルに書き込みたい場合:ファイルは作成されますが、可変配列に含まれているNSValueが含まれていません。この可変配列をファイルに正常に書き込む方法を知っている人はいますか?
ありがとう
NSValuesをplistに保存することはできません(これはwriteToFile:atomically:が行うことです)。保存できる値については、こちらをご覧ください。(NSNumberは保存できるNSValueの一種ですが、他のNSValueは失敗します。)
NSValuesを使用して配列を保存する場合は、writeToFile:atomically:の代わりにアーカイブを使用できます。NSArrayとNSValueはどちらもアーカイブをサポートしているため、配列をアーカイブに変換し、そのデータをファイルに保存するだけです。(NSValuesも含まれます。)コードは次のようになります。
[NSKeyedArchiver archiveRootObject:myArray toFile:@"myPath"];
ロードするには、次を使用します。
NSArray *myArray = [NSKeyedUnarchiver unarchiveObjectWithFile:@"myPath"];