Итак, у меня есть протокол, и в нем я хочу переменную типа класса. Таким образом, я могу инициализировать этот класс из переменной.Переменная типа в протоколе - Swift 2
Имейте в виду, что будет много разных классов. Я сделал быстрый пример.
Я получаю ошибку «тип„CashRegister“не соответствует протоколу„RegisterProtocol“»
Этот пример не совсем то, что я делаю, но он получает через точку. Спасибо за помощь.
protocol RegisterProtocol {
var currentBill: DollarBillProtocol {get set}
func makeNewBill()->DollarBillProtocol
}
extension RegisterProtocol {
func printCurrentBill() {
Swift.print(currentBill)
}
}
class CashRegister: RegisterProtocol {
var currentBill = OneDollarBill.self
func makeNewBill() -> DollarBillProtocol {
return currentBill.init()
}
}
protocol DollarBillProtocol {
// protocol that all bills have in common
}
class OneDollarBill: DollarBillProtocol {
required init(){
}
}
class FiveDollarBill: DollarBillProtocol {
required init(){
}
}
я его в классе CashRegister ... Я не хочу, сильная ссылка на объект , Я хочу ссылку на тип. – JoeBayLD
Извините. но это не отвечает на вопрос. Я знаю, что это сработает, но это не то, что я хочу. Я не хочу инициализировать объект для переменной. Я просто хочу сохранить тип. Затем позже запустите его. Посмотрите на вызов makeNewBill. – JoeBayLD
Я хочу тип класса var. Как это сделать с протоколом? – JoeBayLD