T
должен быть получен из единственного типа.Я думаю, что Apple ввела в действие свои механизмы проверки типов компилятора в XCode 11.
Объяснение:
Для компилятора неоднозначно уверенно выводить тип, указанный здесь:
collectionView.registerCells([CarouselSmallVideoCell.self, CarouselSmallArticleCell.self])
Компилятор должен проверить, имеет ли T
тип CarouselSmallVideoCell
или CarouselSmallArticleCell
;они не одного типа.
Вместо этого вы можете изменить сигнатуру своей функции с:
func registerCells<T>(_ cells: [T.Type]) where T:UICollectionViewCell
На:
func registerCells(_ cells: [UICollectionViewCell.Type])