MagicalRecordをSwiftで使う


MagicalRecordをSwiftで使う手順です。
iOSのアプリケーションを作るときには、いつもお世話になるライブラリですので、ちゃんと使い方をメモしておくために書きます。
この記事では、SwiftでMagicalRecordを使うための初期設定


🍄 プロジェクト作成時に注意すること

プロジェクトを新規作成するときに『Core Dataを使う』をチェックしてください。

スクリーンショット_2015-03-16_10_15_05

🏈 CocoaPodsによるライブラリのインストール

基本的にはブリッジするためのヘッダファイルさえ書けば大丈夫でした。

# プロジェクトフォルダの直下に移動
cd /path/to/project

# Podfileの初期化 (Podfileが存在しない場合のみ)
pod init

Podfileが作成されるので、そこに次のように設定を追記します。

platform :ios, '8.0'

target 'APP_NAME' do
pod 'MagicalRecord'
end

target 'APP_NAME_TEST' do
end

あとは、Podfileに書かれたファイルをインストールします。

# Podfileをインストール
pod install

🚕 モデルデータを作成

APP_NAME.xcdatamodeldでモデルを作成します。
今回はSampleというモデルを作成することにします。

スクリーンショット_2015-03-16_10_19_28

次に、このSampleエンティティにクラス名「Sample」を設定します。

スクリーンショット 2015-03-16 10.22.25

🎂 mogeneratorを使ってモデルファイルを作成

Homebrewを使って、『mogenerator』をインストール。

brew install mogenerator

次にmogeneratorを使ってモデルファイルを作成。

# プロジェクトフォルダの直下に移動
cd /path/to/project

# Modelフォルダの配下にモデルファイルを作成
mogenerator -m APP_NAME/APP_NAME.xcdatamodeld/APP_NAME.xcdatamodel -O Model/ --template-var arc=true

すると次のファイルが作成されると思います。

_Sample.h
_Sample.m
Sample.h
Sample.m

アンダースコアのついたファイルはシステムが使うベースファイルで、ユーザーはアンダースコアのついていないファイルに
自由にメソッドや変数を書き加えることができます。

🎳 ブリッジのためのヘッダファイルの作成/追記

File => New => File...からHeader Fileを選択、
APP_NAME-Bridging-Header.hファイルを追加して、
以下を追加します。

#import "CoreData+MagicalRecord.h"
#import "Sample.h"

プロジェクトを選択 => TARGETS => Build Settings => Objective-C Bridging Header$(SRCROOT)/$(PROJECT)/SwiftProject-Bridging-Header.hを追加

スクリーンショット_2015-03-15_20_00_20

🐝 MagicalRecordの初期化

AppDelegate.Swiftに初期化用の設定を追記します。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {

// initialize coredata (↓初期化用の設定を追記)
MagicalRecord.setupCoreDataStackWithAutoMigratingSqliteStoreNamed("APP_NAME.sqlite")
}

- (void)applicationWillTerminate:(UIApplication *)application
{
// clean up coredata (↓データ永続化の設定を追記)
MagicalRecord.cleanUp()
}

🐡 データ作成、編集、削除等の操作について

こちらのエントリがすごくわかりやすいのでよければこちらをご参照ください。

Objective-C - Mogenerator + MagicalRecordでCoreData入門 - Qiita

また、公式のWikiもすごくわかりやすいので良ければ参考にしてください!

Home · magicalpanda/MagicalRecord Wiki

🐮 参考リンク

Bundlr - SwiftとMagicalRecordを使って簡単なTodoアプリを作るチュートリアル - Qiita

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍