Skip to content

Instantly share code, notes, and snippets.

@kmkrn
kmkrn / Cat.swift
Last active December 30, 2017 00:04
import Foundation
import Realm
import RealmSwift
class Cat: Object, Decodable {
@objc dynamic var catId: Int = 0
@objc dynamic var name: String = ""
@objc dynamic var breed: String = ""
@objc dynamic var weight: Double = 0
@kmkrn
kmkrn / JSONSerializer_v1.swift
Created December 27, 2017 19:35
Realm + Codable. Serializer example (version 1)
import Foundation
import RealmSwift
class JSONSerializer {
func serialize(input sourceName: String) {
let path = Bundle.main.path(forResource: sourceName, ofType: nil)
let url = URL(fileURLWithPath: path!)
let jsonDecoder = JSONDecoder()
do {
let data = try Data(contentsOf: url)
@kmkrn
kmkrn / AppDelegate.swift
Created December 27, 2017 19:44
Realm + Codable. Using JSONSerilazer
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let serializer = JSONSerializer()
serializer.serialize(input: "Cats")
return true
}
}
@kmkrn
kmkrn / realm_default_filepath.txt
Last active December 27, 2017 19:51
Getting the default realm's location
po Realm.Configuration.defaultConfiguration.fileURL
[
{
"personId": 1,
"firstName": "John",
"lastName": "Smith",
"cats": [
{
"catId": 1,
"name": "Ashes",
"breed": "Bengal",
import Foundation
import Realm
import RealmSwift
class CatPerson: Object, Decodable {
@objc dynamic var personId: Int = 0
@objc dynamic var firstName: String = ""
@objc dynamic var lastName: String = ""
var cats = List<Cat>()
@kmkrn
kmkrn / CatPerson.swift
Created December 30, 2017 00:32
Decoding a Realm List
let catsArray = try container.decode([Cat].self, forKey: .cats)
let catsList = List<Cat>()
catsList.append(objectsIn: catsArray)
import Foundation
import Realm
import RealmSwift
class CatPerson: Object, Decodable {
@objc dynamic var personId: Int = 0
@objc dynamic var firstName: String = ""
@objc dynamic var lastName: String = ""
var cats = List<Cat>()
import Foundation
import RealmSwift
class JSONSerializer {
func serialize(input sourceName: String) {
let path = Bundle.main.path(forResource: sourceName, ofType: nil)
let url = URL(fileURLWithPath: path!)
let jsonDecoder = JSONDecoder()
do {
let data = try Data(contentsOf: url)
@kmkrn
kmkrn / AppDelegate.swift
Last active December 30, 2017 16:45
Deleting objects from realm
let realm = try! Realm()
try! realm.write {
realm.deleteAll()
}
let serializer = JSONSerializer()
serializer.serialize(input: "CatPeople")