NSUserDefaults
カスタムオブジェクトを保存して取得する以外にどのような方法がありますか?私にとってNSUserDefaults
は、面倒になりすぎて(正しく保存されない)、機能するデータを保存する別の方法を探しています。(私はすでに問題を投稿しました、そして私は本当にデータを保存する他の方法を探したいだけです)
編集:UIIMagesやUIButtonsなども保存できる必要があります。
NSUserDefaults
カスタムオブジェクトを保存して取得する以外にどのような方法がありますか?私にとってNSUserDefaults
は、面倒になりすぎて(正しく保存されない)、機能するデータを保存する別の方法を探しています。(私はすでに問題を投稿しました、そして私は本当にデータを保存する他の方法を探したいだけです)
編集:UIIMagesやUIButtonsなども保存できる必要があります。
text
ファイルまたはplist
ファイルとしてデータを保存できます。SQLLite
データの保存に使用できます。これ以外に、サーバー駆動型アプリケーションを使用している場合は、サーバーにデータを保存して、必要なときに元に戻すことができます。
UIImagesは、PNGまたはJPEG表現を作成し、そのNSDataブロックを適切と思われるように書き出すことによって保存する必要があります。UIImagePNGRepresentationを参照してください。
UIButtonは、 NSCodingプロトコルを使用してシリアル化/逆シリアル化する必要があります。アーカイブはあなたのためにこれを処理することができます。
NSDataとUIButtonはどちらもNSCodingをサポートしているため、NSUserDefaultsの代わりにアーカイブすることをお勧めします。そのウサギの穴の始まりについては、NSCodingを参照してください。
plistまたはcoreDataを使用できます。NSUserDefaultsを使用した場合、データが非常に小さいため、plistを使用することをお勧めします。どちらもアップルの非常に効率的です。データが非常に大きくなる場合は、sqliteを使用できます。
カスタムオブジェクトを保存するには、カスタムオブジェクトがNSCodingプロトコルを実装していることを確認する必要があります。これがNSCoding に関するAppleのドキュメントです。。NSCodingプロトコルの実装方法に関するチュートリアルが必要な場合は、このサイトをチェックしてください。 UIImageをファイルに保存するには、画像を NSDataに変換してから、NSDataのwriteToFileメソッドを使用してファイルに書き込みます。SOの最後の部分を実行する方法については多数の例があります。これが1つです。