Когда вы вызываете commercial()
, он печатает текст и выходит из функции. Чтобы достичь цели, включите в функцию commercial()
возвращаемое значение. Вот пример.
class Cars {
var make = ""
var model = ""
var year = 0
init(carMake make:String, carModel model:String, carYear year:Int) {
self.make = make
self.model = model
self.year = year
}
func commercial()->String {
return "This car is a \(year) \(make) \(model)"
}
}
class PriceNegotation: Cars {
var price:Double = 0
init(desiredBuyerPrice price:Double,carMake make:String, carModel model:String, carYear year:Int ) {
self.price = price
super.init(carMake: make, carModel: make, carYear: year)
}
func finalNegotiation() {
let dealerPrice = price * 1.5
let commercialOutput = commercial()
print("Since \(commercialOutput) the asking price is \(dealerPrice)")
}
}
Это помещает выходные данные функции commercial()
a String
в другую строку посредством интерполяции. Ранее функция ничего не возвращала, поэтому казалось, что функция не работает. Это, с другой стороны, должно работать. Дайте мне знать, если это не так.