简体   繁体   English

领域uniqueValueForObject Swift3

[英]realm uniqueValueForObject Swift3

How to write swift3 syntax? 如何编写swift3语法? Swift3 AnyObject Modified,no function Swift3 AnyObject修改,无功能

swift2: swift2:

  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
}

Can anyone help write swift3? 有人可以帮忙写swift3吗?

If this is literally just a matter of updating the Realm Swift 2 syntax for Swift 3, then it should just look like this: 如果从字面上看这只是为Swift 3更新Realm Swift 2语法的问题,那么它应该看起来像这样:

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
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM