Каталог с несколькими категориями разных типов - PullRequest
0 голосов
/ 30 июня 2019

Попытка создать каталог, в котором можно хранить категории разных типов.

Попытка с использованием универсальных объектов и / или 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 в массив категорий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...