iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
0

Realm Model被定義為具有常規屬性的常規Swift類。要創建一個,只需直接宣告Object或現有Realm模型類。Realm Model對象的功能與其他任何Swift對像一樣。您可以在它們上自定義型態,使它們符合協議,並像使用其他任何對像一樣使用它們。主要限制是只能在創建對象的線程上使用對象。

import RealmSwift

// Dog model
class Dog: Object {
    @objc dynamic var name = ""
    @objc dynamic var owner: Person? // Properties can be optional
}

// Person model
class Person: Object {
    @objc dynamic var name = ""
    @objc dynamic var birthdate = Date(timeIntervalSince1970: 1)
    let dogs = List<Dog>()
}

例子

由於Realm在啟動時會解析代碼中定義的所有模型,因此即使從未使用過,它們也必須全部有效。

Realm支持以下屬性類型:Bool, Int, Int8, Int16, Int32, Int64, Double, Float, String, Date, and Data.

String, Date, 和 Data可以使用標準Swift語法將屬性聲明為可空值或不可為空值。數字需要用 RealmOptional 來宣告。

class Person: Object {
    @objc dynamic var name: String? = nil

    let age = RealmOptional<Int>()
}

RealmOptional 支援 Int, Float, Double, Bool 和所有大小的 Int (Int8, Int16, Int32, Int64).


上一篇
(Day15)第三方套件介紹Realm
下一篇
(Day17)Swift text field
系列文
IOS 基本元件運用和套件運用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言