gpt4 book ai didi

swift - 试图将数据从 UICollectionViewCell 传递到 UIViewController

转载 作者:行者123 更新时间:2023-11-28 07:45:27 25 4
gpt4 key购买 nike

尝试将数据从我的 collectionViewCell 传递到另一个 UIViewController 但由于某种原因数据未传递。下面是我在 didSelectItem 方法中的代码和我要将数据传递到的 ViewController。我试图用从我的 Collection View 单元格数据传递过来的文本填充标签,但它始终显示我在 UIViewController 中分配的默认字符串“test”。使用 swift 4.1

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let destinationVC = storyboard?.instantiateViewController(withIdentifier: "CaseDetailViewController") as! CaseDetailViewController
destinationVC.textPassedOver = MyCases[indexPath.section][indexPath.item]
self.navigationController?.pushViewController(destinationVC, animated: true)
}



// ViewController to pass data


class CaseDetailViewController: UIViewController {

var textPassedOver = "test"

@IBOutlet weak var label: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
label.text = textPassedOver

print(textPassedOver)
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

}

最佳答案

好的,我找到了解决方案。解决方法是我删除了 didSelectItemAt 并改为使用 didHighlightItemAt 方法。这样我就可以将所选 collectionviewCell 的数据传递给 viewcontroller。我发现 uiviewcontroller 的 viewdidload 方法仅在 didHighlightItemAt 之后和 didSelectItemAt 方法之前被调用的原因。

关于swift - 试图将数据从 UICollectionViewCell 传递到 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51177720/

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