在快速重新加载视图中的 Segue



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

我有一个问题。如果用户转到过滤屏幕并且没有选择任何内容,我应该返回相同的页面,而不会再次加载我的视图。

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

如何将此按钮设置为使用 2 种不同的类型?

你应该定义你自己的协议,让我们把它命名为FilterSelector

protocol FilterSelector{
    func selectFilter(filter: String)
}

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

var filterSelectorDelegate: FilterSelector!

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

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

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

最新更新