У меня проблема с доступом к свойствам из моих подклассов. Я определил суперкласс, а затем создал подклассы, унаследованные от суперкласса. Я инициализировал мой суперкласс внутри своих подклассов.
У меня есть класс под названием Box. Внутри этого класса у меня есть свойство с именем Offer, которое имеет тип OfferType.
var Предложение: OfferType?
Чем я создал класс OfferType и установил некоторые свойства внутри него.
class OfferType {
var Name: String?
var Image: UIImage?
var Description: String?
init(Name: String, Image: UIImage, Description: String) {
self.Name = Name
self.Image = Image
self.Description = Description
}
}
Чем я создал 3 подкласса OfferType
class Discount: OfferType {
var Quantity: Int?
init() {
super.init(Name: "Discount", Image: UIImage(named: "Discount")!, Description: "nice")
}
}
class FreeShipping: OfferType {
var From: String?
var To: String?
init() {
super.init(Name: "FreeShiping", Image: UIImage(named: "FreeShipping")!, Description: "lalaa")
}
}
class BoGoF: OfferType {
lazy var SecondProduct = String()
init() {
super.init(Name: "BoGoF", Image: UIImage(named: "BoGoF")!, Description: "boh")
}
}
Теперь я пытаюсь получить свойство подкласса после Назначить подкласс как свойство Offer внутри класса BOX.
Я не могу этого сделать, единственные опции, которые мне дает XCode, - это доступ к свойствам суперкласса (OfferType)
Мне нужно получить доступ к свойству Количество подкласса Скидка.
Здесь я пытаюсь получить доступ к свойствам
Сначала я назначаю подкласс свойству в классе Box
newBox.Offer = Скидка
Теперь я пытаюсь получить свойства Discount, а мне это не дает
newBox.Offer.
Я пытался разыграть его, но это не сработало
Мой класс newbox определен так
Вот так определяется класс Box