SQL LiteでBLOBまたはテキストにfloatのリストを保存するために理にかなってい - 謝罪ので、これはばかな質問である場合;)が、それは私がiPhoneの開発にはかなり新しいです
私は束を持ってあらかじめ計算された値間の関係をマッピングするためのデータを含む。
ソーラーパネルの電源出力に光入力をマッピングします。他のスケールは、いくつかのデータによって定義されている80.0
-
0.0(すなわち、0.1のステップで上昇し、既知の開始と終了点を有する)固定されており、容易に計算することができる
1つのスケール私はテキスト形式で持っている:
9.80293622028191E + 0000、9.82985159414126E + 0000、9.85682155471754E + 0000、9.88384617060865E + 0000、9.91092551045114E + 0000、9.93805964292038E + 0000、9.96524863673053E + 0000、9.99249256063480E + 0000 、1.00197914834255E + 0001、1.00471454739344E + 0001、1.00745546010324E + 0001等
これを電話で使用して、さまざまな変数の線をプロットすることができます。
テキスト形式の合計データ(データ線当たり32キロバイト程度)4メガバイト
程度で問題がある - とも簡単にロードする - 私は簡単に更新することができる浮動小数点値のアレイは、格納する最善の方法表示のために?
私はそれから単一の値を選ぶ必要はありません - 私はいつも与えられた行のためのリスト全体が必要です - それで、それを単一のデータオブジェクトとして格納するのが理にかなっているようです。私はそれをファイルにテキストとして保存し、それを更新したいときにファイルを上書きすることができます。しかし、 - 私は他のデータのためのSQL LiteのDBが必要になります、そして、これはデータを格納するためにより賢明です。
SQLの浮動小数点データ型を使用するのは非常に重大な方法です。私は常に行の完全な値のセットを望むので、すべての選択は結合となります注文情報を保存して、正しい順序で戻すことができます)
配列全体を文字列にプッシュしてテキストとして保存するのは意味がありますか?または、NSArrayをBLOBフィールドにシリアル化して後で再構築する方法がありますか?
は----- EDITは----------
これは、SQLiteのDBに山車の数千行は携帯電話自体にものすごく遅いことが判明しました。シミュレータでは問題ありませんが、電話機にロードするのに20秒かかります。私はこのデータをフラットテキストファイルに入れて、NSArrayにロードするときにフロートに変換します。
あなたのデータをどのように整理するか分かりません。その「私はいつも与えられた行のリスト全体を必要とするだろう」と私は分かりません。あなたの数値データにM行があり、それぞれがN行の値を持ち、行ごとにこのデータにアクセスするということですか? (IEはルックアップテーブル)。 –
はい - ある種類のキーで特定の行のデータを取得できるようにする必要があります。 1行のデータは、描画ルーチンに渡すためにNSArrayに埋め込むfloat値の順序付きリストです。 –