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