Я хотел бы знать, есть ли способ проверить, используется ли переменный параметр «addComplex» или нет. Я думаю, я мог бы сделать тип параметра дополнительным, а затем проверить, нет ли он или нет, но тогда я всегда должен включать экземпляр класса Complex при вызове функции. Могу ли я каким-то образом заставить его работать с переменным параметром или лучше использовать дополнительный тип?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
}
}
}
да, это работает !! спасибо! кроме строк внутри оператора if, теперь появляется ошибка, которая говорит, что: («Значение типа Complex» не имеет члена «real»). Я обращаюсь к глобальной переменной «реальный» и «мнимый» неправильно? – Felix
Ну, переменная addComplex не имеет типа Complex, это массив - [Complex]. Поэтому вам нужно проверить, не массив ли пуст, а если нет, вы можете получить доступ к addComplex [0] .real и т. Д. – MirekE