【问题标题】:How to use ignoredProperties with multiple vars?如何将ignoreProperties与多个变量一起使用?
【发布时间】:2023-03-29 11:10:01
【问题描述】:

我正在尝试在 Realm 模型中使用 ignoredProperties。这段代码对吗?

class Train: RLMObject {
    dynamic var arrival = ""
    dynamic var arrivalToShow = ""
    dynamic var departureToShow = ""

    func ignoredProperties() -> NSArray {
        let propertiesToIgnore = [arrivalToShow, departureToShow]
        return propertiesToIgnore
    }
}

【问题讨论】:

  • 一些上下文会很好。您是否使用了一些第三方库,其中方法被忽略的属性()具有特殊含义?你试过你的代码吗?有没有达到预期的效果?

标签: swift realm


【解决方案1】:

不,它并不完全正确,即使它编译时也是如此。 ;)

  1. ignoredProperties 必须声明为重写的类函数。
  2. 不返回属性值,而是将属性名称作为字符串放在引号中。

这将如下所示:

    override class func ignoredProperties() -> [AnyObject] {
        return ["arrivalToShow", "departureToShow"]
    }

【讨论】:

  • 但只有我的代码编译,覆盖的函数不编译(
  • 你是对的。将 NSArray 指定为返回类型仅在 Swift 1.1 之前有效,其中应用了隐式桥接强制转换。感谢您指出。我更正了我的答案。
【解决方案2】:

它仅适用于[AnyObject]

override class func ignoredProperties() -> [AnyObject] {
    return ["arrivalToShow", "departureToShow"]
}

【讨论】:

    猜你喜欢
    • 2020-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多