Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Realm Japan meetup #16
Search
Kishikawa Katsumi
July 24, 2016
Programming
0
180
Realm Japan meetup #16
- Realm Objective-C/Swift 1.0.1
- Realm video tutorial
- What's new in CoreData
Kishikawa Katsumi
July 24, 2016
Tweet
Share
More Decks by Kishikawa Katsumi
See All by Kishikawa Katsumi
iOSDC 2024 SMBファイル共有をSwiftで実装する
kishikawakatsumi
1
210
Enhancing Applications with Accessibility API
kishikawakatsumi
3
3.7k
Mastering SwiftSyntax
kishikawakatsumi
4
5.8k
My SwiftData Review
kishikawakatsumi
7
1.4k
Swift Expression Macros: a practical introduction
kishikawakatsumi
3
1.9k
Xcode Cloudの評価
kishikawakatsumi
2
1.3k
Regular expressions basics/正規表現の基本
kishikawakatsumi
7
750
家のいろいろな数値を計測する
kishikawakatsumi
4
2.2k
GitHub Actionsでテストの結果をわかりやすく表示する
kishikawakatsumi
1
1.1k
Other Decks in Programming
See All in Programming
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
250
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
1.1k
ABEMA iOS 大規模プロジェクトにおける段階的な技術刷新 / ABEMA iOS Technology Upgrade
akkyie
1
210
負債になりにくいCSSをデザイナとつくるには?
fsubal
10
2.6k
Domain-Driven Design (Tutorial)
hschwentner
13
22k
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
310
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
120
バッチを作らなきゃとなったときに考えること
irof
2
530
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
720
Visual StudioのGitHub Copilotでいろいろやってみる
tomokusaba
1
210
[JAWS DAYS 2025] 最近の DB の競合解決の仕組みが分かった気になってみた
maroon1st
0
130
読まないコードリーディング術
hisaju
0
110
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Navigating Team Friction
lara
183
15k
Making Projects Easy
brettharned
116
6k
Producing Creativity
orderedlist
PRO
344
40k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
It's Worth the Effort
3n
184
28k
Agile that works and the tools we love
rasmusluckow
328
21k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Transcript
Realm meetup #16 kk@realm.io
Katsumi Kishikawa Realm Inc. kk@realm.io
Recent Updates kk@realm.io
Recent Updates • Realm Objective-C/Swift 1.0.1 (was 1.0.0) • Realm
Java 1.0.1 (was 1.0.0) • Realm React Native 0.13.0 • Realm Xamarin 0.76.0 jp@realm.io jp@realm.io
Realm Objective-C/Swift 1.0.1 (was 1.0.1) kk@realm.io
Realm Objective-C/Swift 1.0.1 • RealmϑΝΠϧΛ։͘ࡍͷύϑΥʔϚϯε্ • ॻ͖ࠐΈτϥϯβΫγϣϯͷύϑΥʔϚϯε্ • RealmOptionalܕͷϓϥΠϚϦΩʔΛ࣋ͭΦϒδΣΫ τΛߋ৽Ͱ͖ͳ͍ͷमਖ਼
• objectForPrimaryKey(_:key:)ͷύϥϝʔλ͕Φϓγϣ φϧʹ • ෆ۩߹ͷमਖ਼ jp@realm.io kk@realm.io
Already compatible with Swift 3 & Xcode 8 https://github.com/realm/realm-cocoa/issues/3796 kk@realm.io
Realm Objective-C/Swift 1.0.2 will be very soon! kk@realm.io
Realm Video Tutorial kk@realm.io
Beginning Realm on iOS www.raywenderlich.com/video-tutorials#begrealm kk@realm.io
Beginning Realm on iOS raywenderlich.com kk@realm.io
Beginning Realm on iOS raywenderlich.com kk@realm.io
WWDC 2016 kk@realm.io
What’s new in Core Data kk@realm.io
What’s new in Core Data • Simple Core Data Stack
• NSPersistentStoreDescription (Like RealmConfiguratin?) • Type safety • Subclass generation • Version Pinning jp@realm.io kk@realm.io
Simpler Core Data Stack kk@realm.io lazy var managedObjectModel: NSManagedObjectModel =
{ let modelURL = NSBundle.mainBundle().URLForResource("Example", withExtension: "momd")! return NSManagedObjectModel(contentsOfURL: modelURL)! }() lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator? = { var coordinator: NSPersistentStoreCoordinator? = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel) let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("Example.sqlite") var error: NSError? = nil var failureReason = "There was an error creating or loading the application's saved data." if coordinator!.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil, error: &error) == nil { coordinator = nil NSLog("Unresolved error \(error), \(error!.userInfo)") abort() } return coordinator }() lazy var managedObjectContext: NSManagedObjectContext? = { let coordinator = self.persistentStoreCoordinator if coordinator == nil { return nil } var managedObjectContext = NSManagedObjectContext() managedObjectContext.persistentStoreCoordinator = coordinator return managedObjectContext }()
Simpler Core Data Stack kk@realm.io lazy var persistentContainer: NSPersistentContainer =
{ let container = NSPersistentContainer(name: "Example") container .loadPersistentStores(completionHandler: { (storeDescription, error) in if let error = error { fatalError("Unresolved error \(error), \(error.userInfo)") } }) return container }()
Typed fetch request kk@realm.io let request: NSFetchRequest<Dog> = Dog.fetchRequest() request.predicate
= Predicate(format: "...") request.fetchBatchSize = 20 let dogs = try! persistentContainer.viewContext.fetch(request) print(dogs)
Typed fetch request kk@realm.io let request: NSFetchRequest<Dog> = Dog.fetchRequest() request.predicate
= Predicate(format: "...") request.fetchBatchSize = 20 let dogs = try! persistentContainer.viewContext.fetch(request) print(dogs)
Insert kk@realm.io let dog = Dog(context: persistentContainer.viewContext) ... try! persistentContainer.viewContext.save()
Backgroud task kk@realm.io let context = persistentContainer.newBackgroundContext() ...
Backgroud task kk@realm.io persistentContainer.performBackgroundTask { (context) in ... }
Auto generation subclasses kk@realm.io import Foundation import CoreData class Dog:
NSManagedObject { } extension Dog { @nonobjc class func fetchRequest() -> NSFetchRequest<Dog> { return NSFetchRequest<Dog>(entityName: "Dog"); } @NSManaged var age: Int64 @NSManaged var name: String? }
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: help@realm.io • ! Slack: slack.realm.io/ jp@realm.io kk@realm.io
Realm Japan User Group Facebook kk@realm.io
Support Chat Slack kk@realm.io
Ξϯέʔτ http://bit.ly/RealmJP_16 kk@realm.io
Questions? Katsuma Kishikawa kk@realm.io www.realm.io/jp @k_katsumi