Попытка создать каталог, в котором можно хранить категории разных типов.
Попытка с использованием универсальных объектов и / или AnyObject, но при проблемах с доступом к объектам
Class Offer {
var name: Sring = ""
}
class Promotion {
var name: String = ""
}
class Category<T> {
var categoryName: String = ""
var list: [T]?
}
class Catalog {
var categories: [Category<Any>]?
}
let myOffer = Offer()
myOffer.name = "offer1"
let myPromotion = Promotion()
myPromotion.name = "promotion1"
let myCategory1 = Category<Offer>()
myCategory1.name = "Offers"
myCategory1.list?.append(myOffer)
let myCategory2 = Category<Promotion>()
myCategory1.name = "Promotions"
myCategory1.list?.append(myPromotion)
let myCatalog = Catalog()
myCatalog.categories?.append(myOffer)
невозможнопреобразовать значение типа Category<Offer>
в ожидаемый тип аргумента Category<Any>
Я получаю вышеуказанную ошибку при попытке добавить myOffer или myPromotion в массив категорий.