Swift,将数据从popover传递回视图控制器

dha*_*hah 5 uiviewcontroller popover swift

我已经在popover控制器中对原始数组进行了排序.现在我想将该数组发送回原始视图控制器以获取tableview和map视图.

以下是我的代码

 If propertyNameSrt == false
    {
        if ascSorting == false
        {
            properties.sort(sorterForbuildingAsc)
        }
        else
        {
            properties.sort(sorterForbuildingDesc)
        }


    }
Run Code Online (Sandbox Code Playgroud)

我的数组是包含自定义对象的属性.如何将此传递给我原来的视图控制器?先谢谢,Dhaval.

che*_*oot 14

您可以使用委托(协议)方法将数据发送回以前的视图控制器.

在当前的VC:

protocol MyProtocol: class
{
    func sendArrayToPreviousVC(myArray:[AnyObject])
}
Run Code Online (Sandbox Code Playgroud)

在课堂上创建一个var.

weak var mDelegate:MyProtocol?
Run Code Online (Sandbox Code Playgroud)

现在,在弹出视图控制器时调用协议方法,并将"properties"数组作为参数.

mDelegate?.sendArrayToPreviousVC(properties)
Run Code Online (Sandbox Code Playgroud)

在以前的VC:

在以前的VC中,当您按下当前VC时,将mDelegate属性设置为self.

currentVC.mDelegate = self
//PUSH VC
Run Code Online (Sandbox Code Playgroud)

现在在之前的VC中实现协议方法.

func sendArrayToPreviousVC(myArray:[AnyObject]) {
    //DO YOUR THING
}
Run Code Online (Sandbox Code Playgroud)