iOSでSQLiteを使う場合の手順

2018/03/23更新 カテゴリー:開発奮闘記 タグ: , ,
  • このエントリーをはてなブックマークに追加

iOSでデータの保存方法はいろいろありますが、はじめてSQLiteを使ってみました。量が多い場合は慣れ親しんだSQLが便利ですね。

SPONSOR

sqlite

SQLiteを使う準備

sqlite3.0.dylibを追加

sqlite

かんたんに扱いやすくしてくれるライブラリ「FMDB」を利用

FMDBから、ファイルをDLして解凍後、fmdb.m以外を追加します。
file
参考)iOS で SQLite – FMDB の使い方

SQLiteを使ってみよう

まず、ヘッダファイルで読み込み。
#import “FMDatabase.h”

//DBファイルのパス
NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES );
NSString *dir   = [paths objectAtIndex:0];

//DBファイルがあるかどうか確認
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:[dir stringByAppendingPathComponent:@"file.db"]])
{
   //なければ新規作成
   FMDatabase *db= [FMDatabase databaseWithPath:[dir stringByAppendingPathComponent:@"file.db"]];
   NSString *sql = @"CREATE TABLE test (id INTEGER PRIMARY KEY AUTOINCREMENT,testname TEXT);";

   [db open]; //DB開く
   [db executeUpdate:sql]; //SQL実行
   [db close]; //DB閉じる
}

こんな感じでサクッと使えてしまいます。かんたん。

INSERT,UPDATEを使う

SQL文を作って値を入れるところはハテナにしておきます。

NSString *sql=@"insert into test (testname) values (?,?);";

[db open];
[db executeUpdate:sql,値,値];
[db close];

SELECTで取り出し

NSString *sql=@"select * from test where testname = ?;";

[db open];
FMResultSet *results = [db executeQuery:sql,値];
[db close];

while( [results next] ){
     NSString *testname = [results stringForColumn:@"testname"];
}
SPONSOR

Macでテスト結果を確認する

シミュレータの場合、DBファイルは
~/Library/Application Support/iPhone Simulator/(iOS バージョン)/Applications/(UUID)/Documentsの中に生成されます。

これをMacの無料アプリ「SQLite Database Browser」で見ると便利です。
sqlite2

iPhoneアプリ開発のTips一覧はこちら

効率のいいiOSプログラミング習得法

独学でプログラミングをはじめてもう16年。
なかなか勉強が進まない人のために記事を書きました。

フリーランスエンジニアの稼ぎ方

  • このエントリーをはてなブックマークに追加
SPONSOR

PROFILE

プロフィール

入江 慎吾/サービス開発だけで生きていく
自分のサービスだけで自由に生きる。勢いで受託開発をすべてやめて、サービスだけ作って生きていくことを決めたフリーのエンジニア。得意を教えて副業にできるMENTAを開発中! (詳しいプロフィール)
WEBサービス・アプリ開発に役立つ情報をイリテクの入江がお届けします。プログラミング、UI/UXデザイン、SNS・ブログマーケティングなど、プロダクト開発だけで自由に生きていくための実践的な情報を配信しています。

PRODUCT

イリテクで開発したプロダクト

RELATION

関連する記事

SPONSOR

TAG

タグから記事をさがす