このブログのチュートリアルを順に読み進めてくださった方なら、このチュートリアルがUITableVIewを優先的に取り組んできたことをご存知かと思います。
この理由としては、多くのアプリケーションが、このシンプルなコントロールを使って開発されているからです。
今回はUITableViewの最後のチュートリアルとして、今までのチュートリアルで学んできたことをすべて使い、SQLiteの技術を追加し、ToDoリストを作成していきます。
また、多くの機能を持ったテーブルセルを追加し、iPhoneが提供している他のコントロールについても学んでいきます。
過去の記事を既読の方を想定していますので、まだの方は、そちらの記事に先に目を通されることをおすすめします。
このチュートリアルは、いくつかのシリーズから成り立つので、過去の記事に比べ少し長くなります。この最初のチュートリアルで学ぶことは以下です。
今回学ぶこと:
Navigation-Based Application の新規作成
データベースの作成
プロジェクトにデータベースの追加
SQLite3のフレームワークを追加
ToDoクラスのオブジェクトの作成
データベースの初期化
…
SQLite で抽出データを並び替え
SELECT * FROM テーブル名 ORDER BY フィールド1 DESC, フィールド2 DESC, フィールド3 ASC ;上記のようにすることで、「テーブル名」という名前のテーブルの全てのデータを「フィールド1」の降順で並べ、「フィールド1」が同値の場合、次の「フィールド2」を降順に並べ、さらに「フィールド2」も同値の場合、「フィールド3」を基準に昇順に並び替えます。 ASC は結果が昇順に並びかえ、 DESC はそれが降順に並ぶかえることを表します。そのどちらも指定されていない場合、 ASC で並び替えられます。
SQLite でランダムにデータを抽出する
まず、SQLite でランダムにデータを取り出す方法SELECT * FROM entry ORDER BY RANDOM();
SQLite で行数指定(LIMIT)でデータを抽出する
SELECT文では、WHERE句などを指定した場合でも条件に一致する全てのデータを取得します。この取得する件数を制限したい場合にはLIMIT句を使います。書式は以下の通りです。SELECT カラム名, … FROM テーブル名 LIMIT 行数;
select カラム名 from テーブル名 LIMIT 3;上記のSELECT文では、「テーブル名」のテーブルから、3行分のデータを取得します。上記のように、データの取得開始位置を特に指定しなければ先頭のデータから順にLIMIT句で指定した行数分だけデータを取得します。抽出したデータの中で、3つ目のデータから5つだけデータを取得したいといった場合などは、上記の表記では、対応できません。そのようにデータ取得の開始位置を指定したい場合は、以下のように指定します。 取得を開始する位置を指定 OFFSET句を指定すると取得を開始する行の位置を指定することができます。書式は以下の通りです。
SELECT カラム名, … FROM テーブル名 LIMIT 行数 OFFSET 開始位置;OFFSET句を使用すると、開始位置に指定した数値の行数分はデータを取得せず、その次の行からデータの取得を開始します。 具体的には次のようになります。
select * from テーブル名 limit 5 offset 2;上記のSELECT文では3行目のデータから5行分のデータを取得します。 なお、PHPなどと同様に、OFFSET句を使用せずにLIMIT句だけで開始位置を指定することもできます。。
SELECT カラム名, … FROM テーブル名 LIMIT 開始位置, 行数;LIMIT句の後に「開始位置, 行数」の形式で値を指定します。開始位置の方を先に指定する点に注意して下さい。
この投稿へのコメント
コメントはまだありません。