2015-10-09 165 views
0

我想知道是否有方法來檢查是否使用可變參數「addComplex」。 我想我可以使參數類型可選,然後檢查它是否爲零,但是當我調用該函數時,我總是必須包含Complex類的一個實例。 我可以以某種方式使它與variadic參數一起使用或更好地使用可選類型嗎?Swift - 有沒有辦法檢查是否使用可變參數?

class Complex { 
    var real: Float = 0.0 
    var imaginary: Float = 0.0 

    init(real: Float, imaginary: Float){ 
     self.real = real 
     self.imaginary = imaginary 
    } 

    //takes default parameters and a variadic parameters 
    func incrementBy(addReal: Float = 0.0, addImanginary: Float = 0.0, addComplex: Complex...){ 
     self.real += addReal 
     self.imaginary += addImanginary 

     if (addComplex != nil){ 
      self.real += addComplex!.real 
      self.imaginary += addComplex!.imaginary 
     } 
    } 
} 

回答

0

您可以檢查:

if addComplex.isEmpty { 
    // variadic parameter not used 
} 
+0

是啊,這工作!謝謝!除了if語句內部的行現在顯示一個錯誤,它表示:(「複雜類型的值」沒有成員「真實」)。我是否錯誤地訪問了全球變量「真實」和「想象」? – Felix

+0

好吧,變量addComplex的類型不是Complex,它是一個數組 - [Complex]。所以你需要檢查數組是否爲空,如果不是,你可以訪問addComplex [0] .real等。 – MirekE

相關問題