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

时间:2015-06-02 12:25:35

标签: swift uiviewcontroller popover

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

以下是我的代码

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


    }

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

1 个答案:

答案 0 :(得分:14)

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

IN CURRENT VC:

protocol MyProtocol: class
{
    func sendArrayToPreviousVC(myArray:[AnyObject])
}

在班上制作一个var。

weak var mDelegate:MyProtocol?

现在,在弹出视图控制器时调用协议方法,使用"属性"数组作为参数。

mDelegate?.sendArrayToPreviousVC(properties)

以前的VC:

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

currentVC.mDelegate = self
//PUSH VC

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

func sendArrayToPreviousVC(myArray:[AnyObject]) {
    //DO YOUR THING
}