Realmを扱う!Swiftでデータベースを使う方法【初心者向け】

プログラミング初心者向けにSwiftでデータベースを扱う方法について解説しています。Realmというデータベースを使ってインストール、モデル作成、データの追加方法を説明しています。データベースは開発の基本になるので、理解しておくと良いでしょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Swiftでデータベースを扱う方法について解説しています。

データベースを導入、操作する流れをこの記事でまとめているので、やり方が分からない方は参考にしてみてください。

 

なお本記事は、TechAcademyのiPhoneアプリ開発オンラインブートキャンプの内容をもとに紹介しています。

 

データベースとは

データベースとは、情報の検索や蓄積ができるように一定の形式で整理した情報の集まりのことです。

アプリ開発においても、ユーザ情報をはじめたくさんの情報をデータベースの中に保存しています。

 

データベースの導入方法

Swiftでは、Realmというデータベースを使うのが一般的になってきました。

以前は、CoreDataやFMDBと言ったものも良く使われていましたが、

Realmの方が非常に簡単に使用できるということで人気を博しています。

公式ページも合わせてご覧ください。

 

[PR] iPhoneアプリの開発で挫折しない学習方法を動画で公開中

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では初心者でも最短4週間でオリジナルアプリが作れるiPhoneアプリ開発オンラインブートキャンプを開催しています。

期間中は現役エンジニアのメンターが毎日学習をサポートするので、独学よりも効率的に学ぶことができます。