icon
icon

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の方が非常に簡単に使用できるということで人気を博しています。

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

 

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

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

初心者・未経験でもできる。まずはテックアカデミーに相談しよう

プログラミングを独学で学習していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 学習に不安を抱えている方へ、マンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう カウンセラーやエンジニア・デザイナー があなたの相談に真摯に向き合います。

「自分に合っているか診断してほしい」
「漠然としているが話を聞いてみたい」

こんなささいな悩みでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料相談を予約する