Вы создали следующий код для создания двух разных массивов просмотра. Я предполагаю, что эти два класса (TinderCard
и DetailTinderCard
) расширяют UIView.
Теперь вы описали ошибку здесь относительно
Ошибка не может быть преобразована в [любой] в ожидаемый аргумент UIView
Это означает, что ваш массив должен принимать только UIView
, и вы передаете как [Любой]. Либо создайте массив из Any
или UIView
.
Смотрит на следующий код.
var currentLoadedCardsArray = [TinderCard]()
var newDetailTardsArray = [DetailTinderCard]()
var newMergerArray:[UIView] = []
Итак, вы должны обновить последнюю строку кода следующим образом, чтобы добавить карту:
var newMergerArray:[Any] = [] // This makes array of UIView
и для создания словаря необходимо написать кодовое значение ключа:
let dict = ["profile":newCard, "DetailProfile":newDetailcard] as [Any]
newMergerArray.append(dict)
Это неправильное решение, поскольку словарь содержит тип данных [String: UIView]
.
OR
Просто следующий код должен работать как шарм.
var currentLoadedCardsArray = [TinderCard]()
var newDetailTardsArray = [DetailTinderCard]()
var newMergerArray:[[String: UIView]] = []
Это создаст массив словаря, где словарь содержит String и UIView в качестве значения ключа соответственно.
let dict = ["profile": newCard, "detailProfile": newDetailcard] as [String: UIView]
newMergerArray.append(dict)
Надеюсь, это поможет вам.