iOS 使用展开来向后传递数据
示例
与segue相比,segue允许您将数据从当前视图控制器“转发”到目标视图控制器:
(VC1)->(VC2)
使用“展开”,您可以执行相反的操作,将数据从目标或当前视图控制器传递到其呈现视图控制器:
(VC1)<-(VC2)
注意:请注意,使用展开功能可让您先传递数据,然后再传递当前的视图控制器(VC2)。
方法如下:
首先,您需要在当前的视图控制器(VC1)处添加以下声明,这是我们要将数据传递到的视图控制器:
@IBAction func unwindToPresentingViewController(segue:UIStoryboardSegue)
重要的是使用前缀unwind,此“通知”Xcode这是一种展开方法,您也可以选择在情节提要中使用它。
之后,您将需要实现该方法,它看起来与实际的segue几乎相同:
@IBAction func unwindToPresentingViewController(segue:UIStoryboardSegue)
{
ifsegue.identifier== "YourCustomIdentifer"
{
if let VC2 =segue.sourceViewControlleras? VC2
{
//您的自定义代码在这里访问VC2类成员
}现在,您有2个选项来调用展开调用:
您可以“硬编码”调用:self.performSegueWithIdentifier("YourCustomIdentifier",sender:self),它会在您需要时为您解散performSegueWithIdentifier。
您可以使用将该取消链接方法链接storyboard到您的“退出”对象:ctrl+拖动要调用该取消链接方法的按钮,将其链接到“退出”对象:
释放,您将可以选择自定义展开方法:
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下