ios - 对象 Swift 3 的 Realm 唯一值

标签 ios swift realm

如何编写 swift3 语法? Swift3 AnyObject 修改,无功能

swift 2:

  func uniqueValueForObject<U : Equatable>(objectKey: String, paramKey: String, type: U.Type)->[U]{
    var uniqueValues : [U] = [U]()
    for obj in self {

        if let o = obj.valueForKeyPath(forKeyPath: objectKey) {
            o.
            if let v = o.valueForKeyPath(paramKey){

                if(!uniqueValues.contains(v as! U)){
                    uniqueValues.append(v as! U)
                }

            }
        }

    }
    return uniqueValues
}

谁能帮忙写一下swift3吗?

最佳答案

如果这实际上只是将 Realm Swift 2 语法更新为 Swift 3,那么它应该如下所示:

extension Results {
    func uniqueValueForObject<U: Equatable>(objectKey: String, paramKey: String, type: U.Type) -> [U] {
        var uniqueValues: [U] = [U]()
        for obj in self {
            if let o = obj.value(forKeyPath: objectKey) {
                if let v = (o as AnyObject).value(forKeyPath: paramKey) {

                    if !uniqueValues.contains(v as! U) {
                        uniqueValues.append(v as! U)
                    }
                }
            }
        }
        return uniqueValues
    }
}

关于ios - 对象 Swift 3 的 Realm 唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41560858/

相关文章:

swift - Realm 没有在我的 UILabel 中显示值

macos - "Cannot create asynchronous query while in a write transaction"异常

ios - 应用程序 :openURL:sourceApplication:annotation return NO versus YES

iOS 关闭键盘但继续编辑

ios - iOS 5之前的库/缓存行为

ios - 在横向模式下添加 UIView

ios - AlamoFire 不遵守超时间隔

ios - 从呈现 View Controller 推送 View Controller

ios - UIImage 屏蔽不起作用(Swift,iOS 10)

ios - 委托(delegate)似乎没有从 RBQFetchedResultController 触发