gpt4 book ai didi

arrays - 如何检查 ANY 的数组包含哪种数据类型的元素

转载 作者:搜寻专家 更新时间:2023-11-01 07:02:38 24 4
gpt4 key购买 nike

我有一个类似于[Any] 的数组,我只是附加了一些String 元素和UIImage 元素。最后,我将它列在 UITableView 中,我需要在其中显示图像,其中数组索引具有 UIImage 和字符串,其中元素索引具有 String类型。

class PhotosVC: UIViewController {

var arrPhotos: [Any] = [Any]()

override func viewDidLoad() {
self.arrPhotos.append("stringValue")
self.arrPhotos.append(pickedImage)
self.collectionViewData.reloadData()
}
}
extension PhotosVC: UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout {

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return arrPhotos.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "PhotosDescCell", for: indexPath) as! PhotosDescCell

if arrPhotos[indexPath] == String { // how to check here is element is String type or UIImage
cell.lblDesc.text = arrPhotos[indexPath] as? String
}
else {
cell.imgPhotos.image = arrPhotos[indexPath.row] as? UIImage
}
return cell
}
}

最佳答案

只需使用is

  func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "PhotosDescCell", for: indexPath) as! PhotosDescCell

if arrPhotos[indexPath] is String {
cell.lblDesc.text = arrPhotos[indexPath] as? String
}
else {
cell.imgPhotos.image = arrPhotos[indexPath.row] as? UIImage
}
return cell
}

关于arrays - 如何检查 ANY 的数组包含哪种数据类型的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50221176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com