Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Realm Japan meetup #11
Search
Kishikawa Katsumi
July 24, 2016
Programming
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Realm Japan meetup #11
Realmのアーキテクチャ
- 遅延ロード・ゼロコピーの図解
- クエリがどのように実行されるか
Kishikawa Katsumi
July 24, 2016
More Decks by Kishikawa Katsumi
See All by Kishikawa Katsumi
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
260
OCRを使ってゲームのアイテムをデータ化する
kishikawakatsumi
0
190
Running Swift without an OS
kishikawakatsumi
0
1.1k
浮動小数の比較について
kishikawakatsumi
0
630
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
280
愛される翻訳の秘訣
kishikawakatsumi
3
500
Private APIの呼び出し方
kishikawakatsumi
3
1k
iOSでSVG画像を扱う
kishikawakatsumi
0
270
Build your own WebP codec in Swift
kishikawakatsumi
2
2.9k
Other Decks in Programming
See All in Programming
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
670
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
280
AI活用は、個人から組織へ|マルチプレイヤーエージェントハーネス「QM」の社内活用事例 / AI use is moving from individuals to orgs
rkaga
1
230
iOSDC2026登壇資料.pdf
riofujimon
0
190
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
2
300
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
130
Building an Out-of-Order CPU
latte72
1
800
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
340
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
3.6k
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
250
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.2k
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
520
Featured
See All Featured
Making Projects Easy
brettharned
120
6.8k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
520
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
550
Designing Powerful Visuals for Engaging Learning
tmiket
1
580
We Are The Robots
honzajavorek
0
380
Marketing to machines
jonoalderson
1
5.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Making the Leap to Tech Lead
cromwellryan
135
10k
Practical Orchestrator
shlominoach
192
12k
Transcript
Realm Japan Meetup #11
#realm_jp
https://github.com/kishikawakatsumi/ kishikawa katsumi http://kishikawakatsumi.hatenablog.com/ Realm
Realm Objective-C/Swift 0.97.1 ˖ 'JYDSBTIFTXIFOBO3-.3FBMNJTEFBMMPDBUFEGSPNUIF XSPOHUISFBE ˖ *OEFYJOH#00-#PPMBOE/4%BUFQSPQFSUJFTBSFOPX TVQQPSUFE ˖
4XJGU"EETVQQPSUGPSJOEFYJOHPQUJPOBMQSPQFSUJFT
Realm Objective-C/Swift 0.98.0ʢ༧ఆʣ ˖ "TZOD2VFSJFT
Realm Objective-C/Swift 0.99.0ʢ༧ఆʣ ˖ 'JOFHSBJOFE/PUJDBUJPO
RealmͷԆϩʔυΛ׆༻͢Δʹ
Realmͷجຊతͳ͍ํ
class Article: Object { dynamic var id: Int = 0
dynamic var title: String = "" dynamic var content: String = "" dynamic var creationDate: NSDate = NSDate() dynamic var modificationDate: NSDate = NSDate() dynamic var deletionDate: NSDate? = nil dynamic var user: User? = nil let comments = List<Comment>() override static func primaryKey() -> String? { return "id" } } class Comment: Object { dynamic var id: Int = 0 dynamic var content: String = "" dynamic var user: User? = nil override static func primaryKey() -> String? { return "id" } } class User: Object { dynamic var id: Int = 0 dynamic var name: String = "" override static func primaryKey() -> String? { return "id" } }
let realm = try! Realm() let article = Article() article.title
= titleTextfield.text article.contents = contentTextfield.text let currentUser = realm.objectForPrimaryKey(User.self, key: userID) article.user = currentUser try! realm.write { in realm.add(article) }
let realm = try! Realm() let articles = realm.objects(Article).filter("user =
%@", currentUser) let article = articles[0]
let realm = try! Realm() let currentUser = realm.objectForPrimaryKey(User.self, key:
userID) try! realm.write { in currentUser.name = "..." }
ԆϩʔυΛ׆༻͢Δ
override func viewDidLoad() { ... articles = realm.objects(Article).filter("user = %@",
currentUser) } override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return articles.count } override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("", forIndexPath: indexPath) let article = articles[indexPath.row] cell.title = article.title cell.content = article.content cell.username = article.user.name return cell }
ԆϩʔυͷΈ
ԆϩʔυͷΈ articles = realm.objects(Article).filter("user = %@", currentUser)
ԆϩʔυͷΈ articles = realm.objects(Article) .filter("user = %@", currentUser)
ԆϩʔυͷΈ let allArticles = realm.objects(Article) let articles = allArticles.filter(“user =
%@", currentUser)
ԆϩʔυͷΈ let allArticles = realm.objects(Article) let articles = allArticles.filter(“user =
%@", currentUser) 3FTVMUT"SUJDMF 5BCMF"SUJDMF
ඇಉظΫΤϦ (Swift) let allArticles = realm.objects(Article) let articles = allArticles.filter(“user
= %@", currentUser) 3FTVMUT"SUJDMF 5BCMF"SUJDMF 3FTVMUT"SUJDMF 5BCMF"SUJDMF 2VFSZVTFS
ඇಉظΫΤϦ (Swift) let articles = allArticles.filter(“user = %@", currentUser) let
count = articles.count 3FTVMUT"SUJDMF 5BCMF"SUJDMF 2VFSZVTFS 3FTVMUT"SUJDMF 5BCMF"SUJDMF 2VFSZVTFS $PVOU 7JFX
ඇಉظΫΤϦ (Swift) let count = articles.count let article = articles[0]
3FTVMUT"SUJDMF 5BCMF"SUJDMF 2VFSZVTFS $PVOU 7JFX "SUJDMF 3PX*OEFY 3FTVMUT"SUJDMF 5BCMF"SUJDMF 2VFSZVTFS $PVOU 7JFX
ඇಉظΫΤϦ (Swift) let article = articles[0] let title = article.title
"SUJDMF 3PX*OEFY 3FTVMUT"SUJDMF 5BCMF"SUJDMF 2VFSZVTFS $PVOU 7JFX "SUJDMF 3PX*OEFY 5JUMF(FUUFS 3FBMN 4USJOH 5JUMF
None
IUUQTUFDICPPTUFSCPPUIQN
Where to find us • # Realm Japan User Group:
facebook.com/groups/realmjp • # Twitter: twitter.com/realmJapan • GitHub: github.com/realm • # StackOverflow: ja.stackoverflow.com/questions/tagged/realm • # Email:
[email protected]
• # Slack: slack.realm.io/
Realm Japan User Group # facebook.com/groups/realmjp
Public Realm Slack # slack.realm.io/
Official Twitter/Facebook twitter.com/realm facebook.com/655569387879379
Official Web site # realm.io/jp
Next Realm Meetup
http://bit.ly/RealmJP_11 ͍Ξϯέʔτʹ͝ڠྗ͍ͩ͘͞