Sponsored Link
どうも、ヤマサキです。前回の続きのRealmをインストールから動作内容までの記事です。
インストールはお手軽なCocoa Pods(Cocoa Pods?って方は以前の記事を参考に導入してみてください。すんげー簡単だよ!必ず出来る!CocoaPads(Swift版)導入編 )を使います。
間違い等ございましたらコメントなどでも構いませんので御指摘宜しくお願いします。
Contents
環境紹介
Xcode Version_7.0
Swift2.0
Cocoa Pods Version_0.38.2
Version確認方法 – Xcodeの場合
Xcodeを起動して Xcode -> About Xcodeを選択
Version確認方法 – Swiftの場合
ターミナルを開いてカレントディレクトリはどこでもいいので下記をコピーで貼り付けEnter
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -v
その後、文字入力モードになるのでVersionを確認したら下記を入力
:exit
Version確認方法 – Cocoa Podsの場合
ターミナルを開いてどこでもいいので下記コマンドをコピーして貼り付け
pod --version
Versionが確認できたら次に進みましょう。(Versionが0.01違うだけで挙動が変わってくるので要注意)
*Versionが低い時はターミナルのどこでもいいので下記コマンドを実施
gem update cocoapods
Realmのインストール
まずはRealmを使うプロジェクトのパスまでターミナルで移動します。私の場合はRealmを使うために新しくSwif2_Realm_2という名前のプロジェクトを作成しましたのでこれを例に進めていきます。
まずはターミナルでプロジェクトまで移動します。
移動したら中身を確認しますが、現状は”Podfile”(Cocoa PodsにてRealmをインストールする為のファイル)はありませんので作成していきます。
(ちなみに cd ~ で使っているアスタリスク「 * 」は予測して補完してくれます。「 ??? 」は例えばファイルの中に3文字のファイルが一つだけの時に使える文字数での補完です。「 ; 」はコマンドを繋げて入力します。)
対象のプロジェクトファイル内で下記コマンドを入力
pod init
入力したら”Podfile”が生成されます。
次に”Podfile”を編集していきます。コマンドはviを使います。
vi Podfile
コマンドを入力すると下記が表示されると思います。
表示された内容を確認し、下記を参考にしコマンドを追加していきます。(赤枠が変更&追加です)
use_frameworks! pod 'RealmSwift', '>= 0.95.2'
写真の様になりましたら、コマンドでインストールしていきます。赤枠で囲んでいる所が今回の変更&追加箇所です。
コマンドを入力したら「 :wq 」で保存し、下記コマンドを入力。
pod install
するとこんな風にメッセージがでるのでこれで完了。エラーが出る場合はVersion違いが無いか確認してください。
これでプロジェクト以外の作業は完了です。次はプロジェクト側での作業になります。対象のプロジェクト「Swift2_Realm_2.xcworkspace(Swift2_Realm_2はプロジェクト名)」を開きます。
プロジェクトを開いたら「 Linked Frameworks and Libraries」を選択してFrameworkを追加します。
追加するのは下記の二つ。赤枠で囲っている「 + 」で追加できます。
- Realm.framework
- RealmSwift.framework
これを追加したらコードに移ります。
Realmをコードで触ってみる
わかりやすく別のファイルを作っていきます。右クリックでNew Fileを選択してiOSのRealmができているのでそれからファイルを作ると早いです。
私はRealmDBにしました。
さて、ここからはコードを書いていきますが詳しく説明していくとものすごく長くなるので簡単な説明にさせてもらいます。
まずはスキーマの内容はこれ
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
ツイート
この数日間エラーと格闘していましたがこちらのページでの導入手順で初めて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が上に来るように修正しクリーン&ビルドしたところ解消しました。 参考までに。
初めまして
今回参考にさせていただいたので、ブログ内でlinkを張りたいのですがよろしいでしょうか。
まだswift初心者ですが、よろしくお願い致します。
ちょっぱさん、はじめまして!
リンクはもちろんです!
Swift頑張りましょう!
SQLiteを使うつもりでしたが、Realmがこれからの主流かもしれないとインストールしました。参考になりました。