在Swift 5中,可以通过以下步骤将值从一个collectionView传递到在"self"可用之前运行的新视图控制器的属性初始化器中:
class NewViewController: UIViewController {
var selectedValue: String?
// 其他代码
}
class CurrentViewController: UIViewController, UICollectionViewDelegate {
// 其他代码
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let selectedValue = collectionViewData[indexPath.row] // 获取选定项的值
let newViewController = NewViewController()
newViewController.selectedValue = selectedValue // 将值传递给新视图控制器的属性
// 在此处进行新视图控制器的初始化和呈现
// 例如,使用导航控制器进行推送
navigationController?.pushViewController(newViewController, animated: true)
}
// 其他代码
}
在上述代码中,我们首先在NewViewController中定义了一个名为selectedValue的可选字符串类型的属性。然后,在CurrentViewController的collectionView(_:didSelectItemAt:)方法中,我们获取了collectionView中选定项的值,并将其赋值给newViewController的selectedValue属性。最后,我们可以使用适当的方式初始化和呈现newViewController。
这种方法可以用于将值从一个视图控制器传递到另一个视图控制器,并在新视图控制器的属性初始化器中使用这些值。这在需要在新视图控制器中使用来自先前视图控制器的数据时非常有用。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云