Go to list of users who liked
Share on X(Twitter)
Share on Facebook
More than 5 years have passed since last update.
1ヶ月以上前にHackerNewsで話題になっていたRealmというmobile用のDBを使ってみた。
使い方も含めて書いておく。
※今回はobjective-cで使ってますが、swiftでも勿論使えます!
何故作ったか?
紹介ページの要約を見てもらえれば詳しくは分かるが、mobileのDBって2000年にでたSQLite以降全然刷新されないよねっていう内容が書いてある。
確かに、mobileのあり方は昨今大幅に変わって来ているのにDB周りは出てないみたい。
自分はwebのアプリケーションを普段は作ってるので、こっち側はResis等のNOSQLが注目されていたり技術的な流れは結構起きてるのに、、、
確かにソシャゲー作ってる人がSQLiteは遅くてtextデータで保管して・・・みたいな話しを聞いた事がある。
まぁなんせ、時代の流れに適したDBを作りたいとの事ね。
何が凄いの?
Yコン出身者が作ったらしいがとにかくSqliteより早いらしい。
確かにこれをみる限り結構なData量になるとパフォーマンスにかなりの差が見られるな・・。
しかもZyngaは2012年から使ってるとの事で安全性もかなりのものだと主張されてる。
料金は?
無料ですw 素晴らしい!
リリース直後は有料だった気がするけど、オープンソース化したのかな。
インストール
基本的に公式サイトのドキュメント通りに進めていく。
①ライブラリをインストール
Zipファイルでインストールするやり方と、cocoapodsでインストールする方法があるが、勿論cocoapodsで実施。
pod "Realm"$ pod install②xcodeのpluginをインストール
これをインストールしておくと、Realmのmodel作成が簡単になる。
Alcatrazというxcodeのパッケージマネージャーをインストールしているとすぐにインストールできる。
インストールしてない方は、ターミナルで下記を実施。
curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh実施後、xcodeを再起動してください。
xcodeのメニューから
Window > Package Maneger をクリック。
RealmPluginで検索すると出てくるのでインストール。
インストールすると、
File > New > File.. をクリックするとRealmがiosのエリアにあるかと思うので、それをクリックし名前を入力し作成。
Databaseを定義
先程作ったファイルのヘッダーファイルにmodelのカラムを定義していく。
名前だけを保持したFriendテーブルを作ってみる。
# import <Realm/Realm.h>@interfaceFriend:RLMObject@propertyNSString*name;@end// This protocol enables typed collections. i.e.:// RLMArray<Friend>RLM_ARRAY_TYPE(Friend)# import "Friend.h"@implementation Friend@end# import "HogeAppDelegate.h"# import <Realm/Realm.h># import "Friend.h"@implementationMBCAppDelegate-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{RLMRealm*realm=[RLMRealmdefaultRealm];Friend*friend=[[Friendalloc]init];friend.name=@"moriyaman";[realmbeginWriteTransaction];[realmaddObject:friend];[realmcommitWriteTransaction];returnYES;}これでiphoneシュミレータ側のDocumentフォルダにdefault.realmというファイルでデータが生成されている。
ちなみにソースファイルにはデータの形成ロジックなどをexampleを見てみると書いていた。
その他ドキュメントをみて見るとQueryの書き方なども載っている。
もう少し使い込んだら再度まとめて書いてみます。
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme




