swift - 在快速重新加载 View 中继续

标签 swift swift2 segue viewdidload viewdidappear

我有一个产品页面,显示产品和过滤器页面。过滤页面有一个按钮,根据情况有2个条件。根据过滤器,我显示数据库中的不同产品。

我有一个问题。如果用户进入过滤屏幕并选择任何内容,我应该返回相同的页面,再次不加载我的 View 。

如果从过滤器 View 中选择了任何内容,则此 segue 应重新加载我的产品屏幕并使用所选过滤器获取正确的数据。

如何设置此按钮以使用 2 种不同类型进行连接?

最佳答案

您应该定义自己的协议(protocol),我们将其命名为FilterSelector

protocol FilterSelector{
    func selectFilter(filter: String)
}

然后在 FiltersViewController 中,用户将选择一个过滤器,您应该定义一个 delegate 让我们将其命名为 filterSelectorDelegate

var filterSelectorDelegate: FilterSelector!

然后在产品页面中,您将实现像这样的FilterSelector协议(protocol)

extension ProductsViewController: FilterSelector{
     func selectFilter(filter: String){
        //Dismiss the filtersViewController 
        //and do what you want with the selected filter
     } 
}

最后,在产品页面中,当您显示过滤器页面时,您应该设置filterDelegate。在过滤器页面中,当用户选择过滤器时,您将调用 filterSelectorDelegate.selectFilter("selectedFilter")

关于swift - 在快速重新加载 View 中继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35879633/

相关文章:

swift - 信标 didRange 已调用,但 didEnter 未调用?

iOS Swift NSXMLPARSER 不解析整个网站

ios - 自定义交叉淡入淡出与黑色之间的切换

ios - 如何解决 "Method does not override any method from its superclass"错误?

cocoa - NSTableView 中的可编辑 NSTextField

swift - 为什么数据常量没有初始化?

ios - 显示键盘时 UITableView 内部 View 容器的剪切

ios - 消息发送成功但未出现在 ios 开发模式下的设备中

ios - UIButton Action 不在 Swift 中调用?

ios - 在 swift 2 中通过 segue 传递数据