16
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Swiftで日記アプリを作ろう 〜その2 Realm導入編〜

Last updated at Posted at 2017-01-02

前回の記事はこちら

前回、カレンダーを表示させてみました。
今度は、日付ごとに日記を入力できるようにしてみましょう。

iPhone上のメモリに値を保存しておくための2つの方法

一度アプリを閉じても値が保存される仕組みがiPhoneには用意されています。

1. UserDefaultsを利用する

iOS フレームワークには、UserDefaultsが用意されていて、簡単に値を保存したり読み込んだりすることができます。

  • メリット:簡単に利用できる
  • デメリット:keyが増えすぎると管理しづらい

2. CoreDataを利用する

CoreDataという仕組みがあり、大きな値になるとCoreDataを利用したほうが便利です。

  • メリット:値の数が大きくなっても管理しやすい
  • デメリット:初めて使用するには学習コストが高い

3. Realmを利用する

型の管理も簡単で、どの値が入っているかもGUIで確認することができる。(Realm Browser)

  • メリット:フレームワークが用意されているので、複雑な処理はフレームワーク側で行う
  • デメリット:CocoaPodsをつかって導入しなければならず、導入が大変。

Realmを導入してみよう

というわけで、今回はRealmを導入してみましょう。
今回は、XcodeプラグインやCocoaPodsを利用してなるべくコードを書かずにRealmを導入してみます。

(STEP.1) Xcodeプラグイン Alcatrazの導入

【Xcode 8対応版】Xcodeプラグイン Alcatrazを導入しように詳しくまとまっていますので、このページを参考にしながらAlcatrazを導入してください。

(STEP.2) Package ManagerからRealmPluginを導入

Window→Package Managerを起動します。
image

package Managerが表示されない場合は、Xcodeを再起動してみてください。

Package ManagerからインストールするプラグインはRealmPluginです。

Package Managerの検索窓で「Realm」と検索すれば出てきますので、インストールしておきましょう。
右側の「INSTALL」ボタンをクリックするとインストールがはじまります。

image

※Realm Browserというプラグインが便利だったのですが、現在はダウンロードはできるものの使用できなくなっているようです。

(STEP.3) CocoaPodsをつかってRealmを導入

Podfileを編集してRealmSwiftを導入します。

Podfile
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'DiarySampler' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  pod 'JBDatePicker'

  #=== この行を追加 ===
  pod 'RealmSwift'
  #==================

  # Pods for DiarySampler

  target 'DiarySamplerTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'DiarySamplerUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

Podfileを保存したら忘れずに

Terminal
pod install

も行っておきましょう。
image

(STEP.4)Xcodeを開き、Command+Bでビルド

ここでXcodeを開き、ビルドエラーが出ないかどうか再度確認しておきましょう。

Xcodeを開いたとき、以下のような画面が出た場合は「常に許可」を選択して進めます。
image

(STEP.5) 【追記】AlcatrazをXcode 8に導入すると動作が重くなる(場合がある)

STEP.1 で導入したAlcatrazですが、Xcode 8に導入すると動作が重くなりすぐ固まる場合があります。筆者のMacbook Pro 13インチ Retinaディスプレイモデル (Late 2016)では、すぐに固まりました。
今回はRealm Pluginを導入するためだけに使ったので、不要な場合は「Alcatraz」と「update_xcode_plugins」を削除しておきましょう。

terminal
rm -rf ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin
rm -rf ~/Library/Application\ Support/Alcatraz

update_xcode_plugins --restore

次回へ続く

次回はRealm活用編

16
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?