Swift,将数据从弹出窗口传回 View Controller

标签 swift uiviewcontroller popover

我已经在 popover Controller 中对原始数组进行了排序。现在我想将该数组发送回 TableView 和 map View 的原始 View Controller 。

下面是我的代码

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


    }

我的数组是包含自定义对象的属性。 如何将其传递给我的原始 View Controller ? 提前致谢, 达瓦尔。

最佳答案

您可以使用委托(delegate)(协议(protocol))方法将数据发送回之前的 View Controller 。

在当前 VC 中:

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

在你的类中创建一个变量。

weak var mDelegate:MyProtocol?

现在在弹出 View Controller 时调用协议(protocol)方法,将“属性”数组作为参数。

mDelegate?.sendArrayToPreviousVC(properties)

在之前的 VC 中:

在你以前的 VC 中,当你推送当前的 VC 时,将 mDelegate 属性设置为 self。

currentVC.mDelegate = self
//PUSH VC

现在在你以前的 VC 中实现协议(protocol)方法。

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

关于Swift,将数据从弹出窗口传回 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30596023/

相关文章:

ios - 将数组写入 .plist 文件 Swift

ios - 登录页面未完全注销用户 iOS

ios - AVFoundation 停止

javascript - 如何创建嵌套在 html 内容中的基础弹出窗口(模板)

ios - 在 CollectionView Swift 上显示 Gif

ios - 切换标签后出现黑屏

ios - 嵌入 UITabViewController 的 UISplitViewController 中的空白区域

cocoa-touch - 如何访问 super View Controller ?

twitter-bootstrap - 如何在显示时为 bootstrap popover 设置动画?

javascript - 弹出窗口不适用于 Bootstrap ?