Realmを扱う!Swiftでデータベースを使う方法【初心者向け】
プログラミング初心者向けにSwiftでデータベースを扱う方法について解説しています。Realmというデータベースを使ってインストール、モデル作成、データの追加方法を説明しています。データベースは開発の基本になるので、理解しておくと良いでしょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Swiftでデータベースを扱う方法について解説しています。
データベースを導入、操作する流れをこの記事でまとめているので、やり方が分からない方は参考にしてみてください。
なお本記事は、TechAcademyのiPhoneアプリ開発オンラインブートキャンプの内容をもとに紹介しています。
データベースとは
データベースとは、情報の検索や蓄積ができるように一定の形式で整理した情報の集まりのことです。
アプリ開発においても、ユーザ情報をはじめたくさんの情報をデータベースの中に保存しています。
データベースの導入方法
Swiftでは、Realmというデータベースを使うのが一般的になってきました。
以前は、CoreDataやFMDBと言ったものも良く使われていましたが、
Realmの方が非常に簡単に使用できるということで人気を博しています。
公式ページも合わせてご覧ください。
RealmをCocoaPodsでインストールする
1. Realmを利用したいプロジェクトに移動
cd [project root]
2. CocoaPodsを初期化しPodFileを作成
pod init
3. Podfileを編集
vi Podfile target '<Project name>' pod 'Realm'
4. インストール
pod install
Realmを使ってみよう
今回は、簡単なデータ追加、削除などを試してみたいと思います。
1. モデル作成
今回は、学生情報を管理するモデルを作成します。
RealmSwift.swift
import Foundation
import RealmSwift
class RealmStudent: Object {
dynamic var id : Int = 0;
dynamic var name = "";
dynamic var age: Int = 0;
}
作成したRealmStudentというモデルには学生番号を示すid、名前を示すnameと年齢を示すageがあります。
2. データ追加
ViewController.swift
import UIKit
import RealmSwift
class ViewController: UIViewController {
let realmData = RealmStudent() // RealmStudentというモデルをインスタンス化します。
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
realmData.id = 1;
realmData.age = 20;
realmData.name = "John Smith";
self.save();
}
// データを保存するための処理
func save() {
do {
let realm = try Realm() // Realmのインスタンスを作成します。
try realm.write {
realm.add(self.realmData) // 作成した「realm」というインスタンスにrealmDataを書き込みます。
}
} catch {
}
}
// データを更新するための処理
func update() {
do {
let realm = try! Realm()
let data = realm.objects(RealmStudent).last!
try realm.write {
data.name = "Mario Rossi" // 「Mario Rossi」という名前に更新します。
}
} catch {
}
}
// データを削除するための処理
func delete() {
do {
let realm = try! Realm()
let data = realm.objects(RealmStudent).last!
try realm.write {
realm.delete(data) //「RealStudent」というモデルの中のデータを削除します。
}
} catch {
}
}
}
以上、Realmをインストールし、扱う方法について解説しました。
入門向けのSwift学習サイトもまとめているので、Swift習得を目指している方はご覧ください。
また、TechAcademyでは初心者でもオリジナルアプリが作れるiPhoneアプリ開発オンラインブートキャンプを開催しています。
期間中は現役エンジニアのメンターが毎日学習をサポートするので、独学よりも効率的に学ぶことができます。