2017-01-10 7 views
0

swift3構文の記述方法は?realm uniqueValueForObject Swift3

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を書くのに役立ちます。 Swift3 ANYOBJECTは、何の機能

swift2を修正していませんか?

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