RealmSwift:存储带有时间戳的元素

RealmSwift:存储带有时间戳的元素,swift,generics,realm,Swift,Generics,Realm,我正试图围绕要存储在领域中的对象定义一个包装器。包装器应该包含一个额外的日期对象,以便我可以过滤旧对象。到目前为止,我有这个 public final class RealmDateTaggedRealmObject: ObjectFacade { @objc public dynamic var date: Date? @objc public dynamic var value: ObjectFacade? @objc private dynamic var id:

我正试图围绕要存储在领域中的对象定义一个包装器。包装器应该包含一个额外的日期对象,以便我可以过滤旧对象。到目前为止,我有这个

public final class RealmDateTaggedRealmObject: ObjectFacade {
    @objc public dynamic var date: Date?
    @objc public dynamic var value: ObjectFacade?
    @objc private dynamic var id: String = ""

    public override class func primaryKey() -> String? {
        return #keyPath(id)
    }

    public convenience init<T: RealmMappable>(from object: RealmDateTagged<T>) {
        self.init()
        date = object.date
        value = object.value.asRealmObject
        id = object.primaryKey
    }
}
所以我试着变得聪明,创建了
ObjectFacade
。原来我不是那么聪明,因为它总是存储
nil
。另外,
value
不能是泛型类型,因为Objective-C不支持它

有什么建议吗


谢谢

不清楚你想在这里做什么。与“第一个”日期属性相对的“附加”日期对象是什么?为什么会出现这种
#键路径(id)
?一般来说,#keyPath只是生成字符串值的语法糖。什么是
RealmDateTagged
?您是否可以提供一个您正在尝试做的示例用例?这将有助于澄清这个问题。我不清楚除了将ObjectFacade定义为属性之外,为什么还要将其子类化
@objc public dynamic var value: Object?