1

複数のUITableViewControllerを含むアプリを作成しています。これまでのところ、それらすべてを異なるJSONGetStuff.phpファイルに接続し、JSONエンコードを使用してデータベースからデータを取得しています。これはうまくいきます。ほとんどのテーブルには、テキストと画像の両方を含むセルがあります。異なるデータを含む4つのtableViewがあるので、毎回データをロードするのではなく、データを保存したいと思います。ここで、アプリにViewDidLoadのJSON.phpファイルにアクセスさせ、データをNSArrayに保存してから、NSDictionaryを介してそれらを解析してObjectForKey:@"";を取得します。このデータは、「Name」、「Adress」、「ImageName」などのSQLサーバーからの通常のテーブルです。

私はデータベースをあまり頻繁に更新しないことに気づきました。おそらく月に1、2回、あるいはそれよりも少ないかもしれません。そこで、その情報をアプリに保存することにしました。データベースを変更するたびに更新をリリースする必要はありませんが、更新されるまで保存するのが好きです。

私のアプリには「Version」という名前の整数が必要だと思いました。リリース時。次に、アプリを起動したら、アプリをwww.mywebsite.com/version.phpに移動させ、エコーアウトされた変数が「バージョン」と同じかどうかを確認します。データベースを変更するときはいつでも、この整数++を変更できます。アプリが起動してバージョンを確認し、ローカルで間違っている場合は、ロード全体をダウンロードして、iPhoneに保存されている現在のデータを上書きする必要があります。

どこから始めればいいのかわからない。データベースに直接接続するのは悪いのでJSONを使用しますが、私のデータはデータベースデータなので、ローカルデータベースを作成して、配列の代わりにその情報を使用できますか?私はどこかで.plistが文字列に適していることを読みました、そして私のデータベース全体は単なる文字列(varchar x)です。

初期データはどこに保存しますか?つまり、JSONを使用してデータベースデータを解析するにはどうすればよいですか?時が来たときにそのデータを上書きするにはどうすればよいですか?そして、どこから始めればよいですか?.plist、NSData、NSCoding、またはNSFileManagerを読む必要がありますか?

4

2 に答える 2

4

コア データ データベースでデータを永続化することを検討してください。コア データは、データベースを処理するための永続的なフレームワークです。コア データは多くのもの (関係、メモリなど) を処理し、(NSFetchedResultsController を使用して) テーブルで非常にうまく機能します。

http://developer.apple.com/library/mac/#documentation/cocoa/Conceptual/CoreData/cdProgrammingGuide.html

もちろん、それはすべてデータの量に依存しますが、リンクされたドキュメントを見始めることができます.

于 2012-08-16T15:40:19.277 に答える
1

データが単純な場合は、NSCacheまたはNSUserDefaultsを使用してデータを迅速かつ効率的に格納できます。

于 2012-08-17T07:17:47.533 に答える