2017-03-29 3 views
0

サンプルコードがあります(下記)。
これはSwift 3.0.2ではうまく動作しますが、Swift 3.1ではうまく動作しません。
どのような問題がありますか?
この問題を解決する方法はありますか?Swiftでタプルを使用する関数3.1

typealias abcTuple = (a: CGFloat, b: CGFloat, c: CGFloat) 
class SomeClass: NSObject { 

    var a: CGFloat = 0.0 
    var b: CGFloat = 0.0 
    var c: CGFloat = 0.0 

    func setValues(a: CGFloat, b: CGFloat, c: CGFloat) { 
     self.a = a 
     self.b = b 
     self.c = c 
    } 

    func setValues(_ values: abcTuple) { 
     self.a = values.a 
     self.b = values.b 
     self.c = values.c 
    } 

    func showValues() { 
     print("a: \(self.a) b: \(self.b) c: \(self.c)") 
    } 
} 

答えて

0

あなたはsetTupleのような別の何かに二setValuesメソッドの名前を変更すると、コードは罰金コンパイルします。たとえば、2番目のメソッドを次のように定義しました。

func setTuple(_ values: abcTuple) { 
    self.a = values.a 
    self.b = values.b 
    self.c = values.c 
} 

すべてがうまくコンパイルされます。

関連する問題