1
我面臨一個問題,我無法通過init(value: Any)
設置一個被忽略的屬性。我理解被忽略的屬性的方式是它們存在於Object的一個實例中,並且一旦該對象被持久化到Realm
,它們將被忽略,但它似乎在初始化期間已被忽略。模型的忽略屬性似乎沒有使用init(值:任何)設置
例子:
型號:
class Image: Object {
dynamic var main = false
dynamic var image: UIImage?
override static func ignoredProperties() -> [String] {
return ["image"]
}
}
用法:
let img = Image(value: [PROPERTY.MAIN: imageSlot.imageInfo.main, PROPERTY.IMAGE: imageSlot.imageInfo.image])
img.image // NIL HERE
let img = Image(value: [PROPERTY.MAIN: imageSlot.imageInfo.main])
img.image = imageSlot.imageInfo.image
img.image // CORRECTLY SET
這僅僅是一個有點討厭,我不能把它已在init(價值:任何),因此我想知道這是否是一種預期的行爲,或者我做錯了什麼。
是的,你可以將其設置在初始化。向我們展示您所寫的初始化程序,以便我們可以看到出錯的地方。這應該很容易解決。 - 凱爲你提供了一個非常好的解決方案。 – Mozahler
@Mozahler你提到的答案是事實錯誤的,並且已被其作者刪除。 OP使用'Realm'使用的默認初始化程序,它不是由OP編寫的自定義初始化程序。 –
我明白,OP沒有使用自定義初始值設定項。我認爲這是必需的。這就是爲什麼我要求他提供代碼。感謝您的更新。 – Mozahler