絶対動くSwift2.0でのRealmのインストールから扱いまで【2015-9/26日最新版】

xcode7.0_Image

Sponsored Link


 

どうも、ヤマサキです。前回の続きのRealmをインストールから動作内容までの記事です。
インストールはお手軽なCocoa Pods(Cocoa Pods?って方は以前の記事を参考に導入してみてください。すんげー簡単だよ!必ず出来る!CocoaPads(Swift版)導入編 を使います。
間違い等ございましたらコメントなどでも構いませんので御指摘宜しくお願いします。

 

 

環境紹介

Xcode Version_7.0
Swift2.0
Cocoa Pods Version_0.38.2

 

Version確認方法 – Xcodeの場合

Xcodeを起動して Xcode -> About Xcodeを選択

スクリーンショット 2015-09-26 18.44.09

スクリーンショット 2015-09-26 18.45.18

 

Version確認方法 – Swiftの場合

ターミナルを開いてカレントディレクトリはどこでもいいので下記をコピーで貼り付けEnter

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -v

スクリーンショット 2015-09-26 18.48.26

その後、文字入力モードになるのでVersionを確認したら下記を入力

:exit

 

Version確認方法 – Cocoa Podsの場合

ターミナルを開いてどこでもいいので下記コマンドをコピーして貼り付け

pod --version

スクリーンショット 2015-09-26 19.04.42

Versionが確認できたら次に進みましょう。(Versionが0.01違うだけで挙動が変わってくるので要注意)

*Versionが低い時はターミナルのどこでもいいので下記コマンドを実施

gem update cocoapods

 

 

Realmのインストール

まずはRealmを使うプロジェクトのパスまでターミナルで移動します。私の場合はRealmを使うために新しくSwif2_Realm_2という名前のプロジェクトを作成しましたのでこれを例に進めていきます。

まずはターミナルでプロジェクトまで移動します。
移動したら中身を確認しますが、現状は”Podfile”(Cocoa PodsにてRealmをインストールする為のファイル)はありませんので作成していきます。
(ちなみに cd ~ で使っているアスタリスク「 * 」は予測して補完してくれます。「 ??? 」は例えばファイルの中に3文字のファイルが一つだけの時に使える文字数での補完です。「 ; 」はコマンドを繋げて入力します。)スクリーンショット 2015-09-26 19.22.28
対象のプロジェクトファイル内で下記コマンドを入力

pod init

入力したら”Podfile”が生成されます。

スクリーンショット 2015-09-26 19.45.17

次に”Podfile”を編集していきます。コマンドはviを使います。

vi Podfile

コマンドを入力すると下記が表示されると思います。

スクリーンショット 2015-09-26 19.55.16

表示された内容を確認し、下記を参考にしコマンドを追加していきます。(赤枠が変更&追加です)

use_frameworks!
pod 'RealmSwift', '>= 0.95.2'

写真の様になりましたら、コマンドでインストールしていきます。赤枠で囲んでいる所が今回の変更&追加箇所です。

スクリーンショット 2015-09-27 15.14.24

コマンドを入力したら「 :wq 」で保存し、下記コマンドを入力。

pod install

するとこんな風にメッセージがでるのでこれで完了。エラーが出る場合はVersion違いが無いか確認してください。

スクリーンショット 2015-09-27 17.57.37

これでプロジェクト以外の作業は完了です。次はプロジェクト側での作業になります。対象のプロジェクト「Swift2_Realm_2.xcworkspace(Swift2_Realm_2はプロジェクト名)」を開きます。

スクリーンショット 2015-09-27 18.04.43

プロジェクトを開いたら「 Linked Frameworks and Libraries」を選択してFrameworkを追加します。

追加するのは下記の二つ。赤枠で囲っている「 + 」で追加できます。

  • Realm.framework
  • RealmSwift.framework

これを追加したらコードに移ります。

スクリーンショット 2015-09-27 18.08.27

 

 

Realmをコードで触ってみる

わかりやすく別のファイルを作っていきます。右クリックでNew Fileを選択してiOSのRealmができているのでそれからファイルを作ると早いです。

スクリーンショット 2015-09-27 18.24.01

スクリーンショット 2015-09-27 18.24.11

私はRealmDBにしました。

スクリーンショット 2015-09-27 18.32.51

さて、ここからはコードを書いていきますが詳しく説明していくとものすごく長くなるので簡単な説明にさせてもらいます。

まずはスキーマの内容はこれ

import RealmSwift

class RealmDB: Object {
    
    dynamic var country = ""
    dynamic var name = ""
    dynamic var age = 0
}

次にview controllerの方に移ります。ここで必ず忘れてはいけないのが「 import RealmSwift 」です。

import UIKit
import RealmSwift

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        self.Content()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    // 上にはviewDidLoad以外コードは書きません
    
    // インスタンス化
    let realmDB = RealmDB()
    
    // 内容
    func Content() {
        
        realmDB.country = "Japan"
        realmDB.name = "Yamasaki"
        realmDB.age = 30
        
//        self.save()
//        self.dataUpdate()
        self.dataDelete()
        
        self.dataGet()
    }
    
    // データの保存
    func save() {
        do {
            let realm = try Realm()
            
            realm.write {
                realm.add(self.realmDB)
            }
        } catch {
            // Error handling...
        }
    }
    
    // データの取得
    func dataGet() {
        
        let realm = try! Realm()
        
        let dataContent = realm.objects(RealmDB)
        print(dataContent)
    }
    
    // データの更新
    func dataUpdate() {
        let realm = try! Realm()
        
        let user = realm.objects(RealmDB).last!
        realm.write {
            user.name = "Yamasaki Tarou"
        }
    }
    
    // データの削除
    func dataDelete() {
        let realm = try! Realm()
        
        let user = realm.objects(RealmDB).last!
        realm.write {
            // 最後のデータ
            realm.delete(user)
            // 全てのデータ
//          realm.deleteAll()
        }
    }
}

コメントに簡単な説明は書いていますので、参考に色々変更してみて下さい。
長くなりましたが今回は以上です。最後に公式ページを載せておきます。英語、日本語、中国語、韓国語でドキュメントが読めますので、是非一読する事をおすすめします。
そして、この素晴らしいRealmを作って提供してくれている開発者様達に今一度お礼を申しあげます。

本当にありがとうございます。これからも期待して応援しています。

以上、Realmのインストールからざっくりとした使い方でした。2015年9/26日現在最上部にある環境と手順で確実に動きます、不具合等ございましたら即刻修正いたしますので御連絡お待ちしています。

Realm最高!

Sponsored Link
ツイートツイート

絶対動くSwift2.0でのRealmのインストールから扱いまで【2015-9/26日最新版】

4 thoughts on “絶対動くSwift2.0でのRealmのインストールから扱いまで【2015-9/26日最新版】

  • 2015年11月12日 at 22:47
    Permalink

    この数日間エラーと格闘していましたがこちらのページでの導入手順で初めてSucceededとなりました。ありがとうございます!

    なお、こちらで確認した事象
    Xcode7.1、Swift version 2.1、pod version 0.39.0

    1.”New Fileを選択してiOSのRealmNew Fileを選択してiOSのRealmNew Fileを選択して…”ここでRealmNew Fileが表示されませんでした。(ただ使わなくても特に問題ないので大丈夫でした)

    2.”import RealmSwift”が最初No such moduleエラーとなりましたが、「Linked Frameworks and Libraries」での指定順でReamSwift.frameworkが上に来るように修正しクリーン&ビルドしたところ解消しました。 参考までに。

    Reply
  • 2016年5月4日 at 14:38
    Permalink

    初めまして
    今回参考にさせていただいたので、ブログ内でlinkを張りたいのですがよろしいでしょうか。

    まだswift初心者ですが、よろしくお願い致します。

    Reply
    • 2016年5月4日 at 18:19
      Permalink

      ちょっぱさん、はじめまして!
      リンクはもちろんです!
      Swift頑張りましょう!

      Reply
  • 2016年12月4日 at 17:01
    Permalink

    SQLiteを使うつもりでしたが、Realmがこれからの主流かもしれないとインストールしました。参考になりました。

    Reply

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です