Swift - универсальный тип наследования с ограничением - PullRequest
0 голосов
/ 22 октября 2019

Я пытаюсь использовать Mvvm в приложении. Например, я создал несколько классов:

class ViewModel { }

class PaginationViewModel<TElement> : ViewModel { }

class UsersViewModel : PaginationViewModel<Int> {
    func didLoad() { }
}

class MvvmViewController<TViewModel : ViewModel> : UIViewController { }

class PaginationViewController<TPaginationViewModel> : MvvmViewController<TPaginationViewModel>
    where TPaginationViewModel: PaginationViewModel<Any> { }

class UsersViewController : PaginationViewController<UsersViewModel> {

}

Я получил следующую ошибку - «PaginationViewController» требует, чтобы «UsersViewModel» наследовал от «PaginationViewModel»

Как я могу изменить общее ограничение на PaginationViewController, чтобы сделатьэтот код работает?

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