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+拖动要调用该取消链接方法的按钮,将其链接到“退出”对象:
释放,您将可以选择自定义展开方法:
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语