SlideShare a Scribd company logo
‣
‣
‣
• https://github.com/iOSDevKor/StartRealm
Realm Browser
• https://itunes.apple.com/kr/app/realm-browser/
id1007457278?mt=12
16.02.03. 22:00
16.02.07. 18:30
16.02.11. 14:00
class Travel: Object {
dynamic var travelTitle: String?
dynamic var travelCreationDate: Date = Date()
let imageDatas: List<ImageData> = List<ImageData>()
}
class ImageData: Object {
dynamic var timeStamp: Int = 0
dynamic var country: String?
dynamic var city: String?
dynamic var image: Data?
}
‣
‣
‣
‣
‣
‣
‣
‣
‣
‣
‣
‣
‣
‣
‣
‣
‣
‣
import RealmSwift
class Album: Object {
dynamic var title: String = ""
dynamic var createDate: Date = Date()
let photos: List<Photo> = List<Photo>()
}
class Photo: Object {
dynamic var createDate: Date = Date()
dynamic var image: Data = Data()
}
let realm = try! Realm()
‣
‣
// configuration( )
let realm = try! Realm(configuration: realmConfig)
// Realm URL
let realm = try! Realm(fileURL: realmURL)
let realm = try! Realm() ( )
do {
let realm = try Realm()
} catch {
print(“(error)")
// handle error
}
( )
try! realm.write {
// Do something
}
‣
‣
try! Realm.write { } ( )
do {
try realm.write {
realm.add(object)
realm.delete(object)
}
} catch {
print(“(error)")
// handle error
}
( )
class {
var token: NotificationToken!
token = albums.addNotificationBlock({(change) in
// Do something
self.UIUpdate()
})
}
‣
‣
Realm.Configuration(
// schemaVersion 0 , .
schemaVersion: 3,
// schemaVerion , schema .
migrationBlock: { { migration, oldSchemaVersion in
if oldSchemaVersion < 1 {
}
if oldSchemaVersion < 2 {
}
})
‣
‣
‣
‣
‣
// schemaVersion0
class Album: Object {
dynamic var title: String = ""
dynamic var createDate: Date = Date()
let photos: List<Photos> = List<Photos>()
}
// schemaVersion1
class Album: Object {
dynamic var title: String = ""
dynamic var createDate: Date = Date()
// property
dynamic var uuid: String = UUID().uuidString
let photos: List<Photos> = List<Photos>()
}
class Album: Object {
dynamic var title: String = ""
dynamic var createDate: Date = Date()
dynamic var uuid: String = UUID().uuidString
let photos: List<Photos> = List<Photos>()
override class func primaryKey() -> String? {
return "uuid"
}
}
‣
‣
Device
‣ DB
shift+command+2 > App container >
Simulator
‣ /
Realm.Configuration.defaultConfiguration.fileURL
🤗

More Related Content

Similar to 프알못의 Realm 사용기

demo car display.pptx
demo car display.pptxdemo car display.pptx
demo car display.pptx
ssuser016f54
 
An Introduction to Jquery
An Introduction to JqueryAn Introduction to Jquery
An Introduction to Jquery
Phil Reither
 
Webgl para JavaScripters
Webgl para JavaScriptersWebgl para JavaScripters
Webgl para JavaScriptersgerbille
 
YQL Tutorial
YQL TutorialYQL Tutorial
YQL Tutorial
Tom Croucher
 
YQL and YUI - Javascript from server to user
YQL and YUI - Javascript from server to userYQL and YUI - Javascript from server to user
YQL and YUI - Javascript from server to userTom Croucher
 
Building Apps with SwiftUI and Firebase
Building Apps with SwiftUI and FirebaseBuilding Apps with SwiftUI and Firebase
Building Apps with SwiftUI and Firebase
Peter Friese
 
OSCON 2005: Build Your Own Chandler Parcel
OSCON 2005: Build Your Own Chandler ParcelOSCON 2005: Build Your Own Chandler Parcel
OSCON 2005: Build Your Own Chandler ParcelTed Leung
 
Cross Domain Web
Mashups with JQuery and Google App Engine
Cross Domain Web
Mashups with JQuery and Google App EngineCross Domain Web
Mashups with JQuery and Google App Engine
Cross Domain Web
Mashups with JQuery and Google App Engine
Andy McKay
 
Im flash
Im flashIm flash
Im flashhuanwu
 
Crossing platforms with JavaScript & React
Crossing platforms with JavaScript & React Crossing platforms with JavaScript & React
Crossing platforms with JavaScript & React
Robert DeLuca
 
I phone勉強会 (2011.11.23)
I phone勉強会 (2011.11.23)I phone勉強会 (2011.11.23)
I phone勉強会 (2011.11.23)
Katsumi Kishikawa
 
Leaving Flatland: getting started with WebGL
Leaving Flatland: getting started with WebGLLeaving Flatland: getting started with WebGL
Leaving Flatland: getting started with WebGL
gerbille
 
HTML5 after the hype - JFokus2015
HTML5 after the hype - JFokus2015HTML5 after the hype - JFokus2015
HTML5 after the hype - JFokus2015
Christian Heilmann
 
Go Mobile with Apache Cordova, Zagreb 2014
Go Mobile with Apache Cordova, Zagreb 2014Go Mobile with Apache Cordova, Zagreb 2014
Go Mobile with Apache Cordova, Zagreb 2014
Christian Grobmeier
 
Seti 09
Seti 09Seti 09
Seti 09
bzanchet
 
The Django Book CH13 Generating Non-HTML Content
The Django Book CH13 Generating Non-HTML ContentThe Django Book CH13 Generating Non-HTML Content
The Django Book CH13 Generating Non-HTML Content
Johnny Wang
 
How We Built a Mobile Electronic Health Record App Using Xamarin, Angular, an...
How We Built a Mobile Electronic Health Record App Using Xamarin, Angular, an...How We Built a Mobile Electronic Health Record App Using Xamarin, Angular, an...
How We Built a Mobile Electronic Health Record App Using Xamarin, Angular, an...
Matt Spradley
 
Three.js basics
Three.js basicsThree.js basics
Three.js basics
Vasilika Klimova
 

Similar to 프알못의 Realm 사용기 (20)

demo car display.pptx
demo car display.pptxdemo car display.pptx
demo car display.pptx
 
An Introduction to Jquery
An Introduction to JqueryAn Introduction to Jquery
An Introduction to Jquery
 
Webgl para JavaScripters
Webgl para JavaScriptersWebgl para JavaScripters
Webgl para JavaScripters
 
YQL Tutorial
YQL TutorialYQL Tutorial
YQL Tutorial
 
YQL and YUI - Javascript from server to user
YQL and YUI - Javascript from server to userYQL and YUI - Javascript from server to user
YQL and YUI - Javascript from server to user
 
Building Apps with SwiftUI and Firebase
Building Apps with SwiftUI and FirebaseBuilding Apps with SwiftUI and Firebase
Building Apps with SwiftUI and Firebase
 
Intro to HTML5
Intro to HTML5Intro to HTML5
Intro to HTML5
 
OSCON 2005: Build Your Own Chandler Parcel
OSCON 2005: Build Your Own Chandler ParcelOSCON 2005: Build Your Own Chandler Parcel
OSCON 2005: Build Your Own Chandler Parcel
 
Cross Domain Web
Mashups with JQuery and Google App Engine
Cross Domain Web
Mashups with JQuery and Google App EngineCross Domain Web
Mashups with JQuery and Google App Engine
Cross Domain Web
Mashups with JQuery and Google App Engine
 
Im flash
Im flashIm flash
Im flash
 
Crossing platforms with JavaScript & React
Crossing platforms with JavaScript & React Crossing platforms with JavaScript & React
Crossing platforms with JavaScript & React
 
I phone勉強会 (2011.11.23)
I phone勉強会 (2011.11.23)I phone勉強会 (2011.11.23)
I phone勉強会 (2011.11.23)
 
Leaving Flatland: getting started with WebGL
Leaving Flatland: getting started with WebGLLeaving Flatland: getting started with WebGL
Leaving Flatland: getting started with WebGL
 
HTML5 after the hype - JFokus2015
HTML5 after the hype - JFokus2015HTML5 after the hype - JFokus2015
HTML5 after the hype - JFokus2015
 
Go Mobile with Apache Cordova, Zagreb 2014
Go Mobile with Apache Cordova, Zagreb 2014Go Mobile with Apache Cordova, Zagreb 2014
Go Mobile with Apache Cordova, Zagreb 2014
 
Seti 09
Seti 09Seti 09
Seti 09
 
Core animation
Core animationCore animation
Core animation
 
The Django Book CH13 Generating Non-HTML Content
The Django Book CH13 Generating Non-HTML ContentThe Django Book CH13 Generating Non-HTML Content
The Django Book CH13 Generating Non-HTML Content
 
How We Built a Mobile Electronic Health Record App Using Xamarin, Angular, an...
How We Built a Mobile Electronic Health Record App Using Xamarin, Angular, an...How We Built a Mobile Electronic Health Record App Using Xamarin, Angular, an...
How We Built a Mobile Electronic Health Record App Using Xamarin, Angular, an...
 
Three.js basics
Three.js basicsThree.js basics
Three.js basics
 

More from Mijeong Jeon

Azure_CogSearch_OAI.pdf
Azure_CogSearch_OAI.pdfAzure_CogSearch_OAI.pdf
Azure_CogSearch_OAI.pdf
Mijeong Jeon
 
Performance Comparing : ONNX, TF, PyTorch
Performance Comparing : ONNX, TF, PyTorchPerformance Comparing : ONNX, TF, PyTorch
Performance Comparing : ONNX, TF, PyTorch
Mijeong Jeon
 
let us: Go! 2019 Summer 앱 수익으로 월세내기
let us: Go! 2019 Summer 앱 수익으로 월세내기let us: Go! 2019 Summer 앱 수익으로 월세내기
let us: Go! 2019 Summer 앱 수익으로 월세내기
Mijeong Jeon
 
Azure AutoML 함께 실습하기
Azure AutoML 함께 실습하기Azure AutoML 함께 실습하기
Azure AutoML 함께 실습하기
Mijeong Jeon
 
iOS 모바일에서 한글 손글씨 인식하기(with Keras)
iOS 모바일에서 한글 손글씨 인식하기(with Keras) iOS 모바일에서 한글 손글씨 인식하기(with Keras)
iOS 모바일에서 한글 손글씨 인식하기(with Keras)
Mijeong Jeon
 
180825 azure ai
180825 azure ai180825 azure ai
180825 azure ai
Mijeong Jeon
 
내 손 위의 딥러닝_iOS에 딥러닝 심기
내 손 위의 딥러닝_iOS에 딥러닝 심기 내 손 위의 딥러닝_iOS에 딥러닝 심기
내 손 위의 딥러닝_iOS에 딥러닝 심기
Mijeong Jeon
 
iOS와 케라스의 만남
iOS와 케라스의 만남iOS와 케라스의 만남
iOS와 케라스의 만남
Mijeong Jeon
 
프알못의 Keras 사용기
프알못의 Keras 사용기프알못의 Keras 사용기
프알못의 Keras 사용기
Mijeong Jeon
 

More from Mijeong Jeon (9)

Azure_CogSearch_OAI.pdf
Azure_CogSearch_OAI.pdfAzure_CogSearch_OAI.pdf
Azure_CogSearch_OAI.pdf
 
Performance Comparing : ONNX, TF, PyTorch
Performance Comparing : ONNX, TF, PyTorchPerformance Comparing : ONNX, TF, PyTorch
Performance Comparing : ONNX, TF, PyTorch
 
let us: Go! 2019 Summer 앱 수익으로 월세내기
let us: Go! 2019 Summer 앱 수익으로 월세내기let us: Go! 2019 Summer 앱 수익으로 월세내기
let us: Go! 2019 Summer 앱 수익으로 월세내기
 
Azure AutoML 함께 실습하기
Azure AutoML 함께 실습하기Azure AutoML 함께 실습하기
Azure AutoML 함께 실습하기
 
iOS 모바일에서 한글 손글씨 인식하기(with Keras)
iOS 모바일에서 한글 손글씨 인식하기(with Keras) iOS 모바일에서 한글 손글씨 인식하기(with Keras)
iOS 모바일에서 한글 손글씨 인식하기(with Keras)
 
180825 azure ai
180825 azure ai180825 azure ai
180825 azure ai
 
내 손 위의 딥러닝_iOS에 딥러닝 심기
내 손 위의 딥러닝_iOS에 딥러닝 심기 내 손 위의 딥러닝_iOS에 딥러닝 심기
내 손 위의 딥러닝_iOS에 딥러닝 심기
 
iOS와 케라스의 만남
iOS와 케라스의 만남iOS와 케라스의 만남
iOS와 케라스의 만남
 
프알못의 Keras 사용기
프알못의 Keras 사용기프알못의 Keras 사용기
프알못의 Keras 사용기
 

Recently uploaded

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 

Recently uploaded (20)

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 

프알못의 Realm 사용기

  • 1.
  • 3. • https://github.com/iOSDevKor/StartRealm Realm Browser • https://itunes.apple.com/kr/app/realm-browser/ id1007457278?mt=12
  • 4.
  • 6. class Travel: Object { dynamic var travelTitle: String? dynamic var travelCreationDate: Date = Date() let imageDatas: List<ImageData> = List<ImageData>() } class ImageData: Object { dynamic var timeStamp: Int = 0 dynamic var country: String? dynamic var city: String? dynamic var image: Data? }
  • 10. import RealmSwift class Album: Object { dynamic var title: String = "" dynamic var createDate: Date = Date() let photos: List<Photo> = List<Photo>() } class Photo: Object { dynamic var createDate: Date = Date() dynamic var image: Data = Data() }
  • 11. let realm = try! Realm() ‣ ‣ // configuration( ) let realm = try! Realm(configuration: realmConfig) // Realm URL let realm = try! Realm(fileURL: realmURL)
  • 12. let realm = try! Realm() ( ) do { let realm = try Realm() } catch { print(“(error)") // handle error } ( )
  • 13. try! realm.write { // Do something } ‣ ‣
  • 14. try! Realm.write { } ( ) do { try realm.write { realm.add(object) realm.delete(object) } } catch { print(“(error)") // handle error } ( )
  • 15. class { var token: NotificationToken! token = albums.addNotificationBlock({(change) in // Do something self.UIUpdate() }) }
  • 16. ‣ ‣ Realm.Configuration( // schemaVersion 0 , . schemaVersion: 3, // schemaVerion , schema . migrationBlock: { { migration, oldSchemaVersion in if oldSchemaVersion < 1 { } if oldSchemaVersion < 2 { } })
  • 18. // schemaVersion0 class Album: Object { dynamic var title: String = "" dynamic var createDate: Date = Date() let photos: List<Photos> = List<Photos>() } // schemaVersion1 class Album: Object { dynamic var title: String = "" dynamic var createDate: Date = Date() // property dynamic var uuid: String = UUID().uuidString let photos: List<Photos> = List<Photos>() }
  • 19. class Album: Object { dynamic var title: String = "" dynamic var createDate: Date = Date() dynamic var uuid: String = UUID().uuidString let photos: List<Photos> = List<Photos>() override class func primaryKey() -> String? { return "uuid" } } ‣ ‣
  • 20. Device ‣ DB shift+command+2 > App container > Simulator ‣ / Realm.Configuration.defaultConfiguration.fileURL
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26. 🤗