2017-01-10 45 views
0

如何編寫swift3語法? Swift3 AnyObject修改,沒有功能realm uniqueValueForObject Swift3

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 
} 

誰能幫寫swift3?

+0

這是如何關係到究竟境界? – TiM

+0

延伸結果 – Mitchell

回答

0

如果這是真的只是一個更新的斯威夫特3王國斯威夫特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 
    } 
}