Segue在快速重新加载视图
问题描述:
我有一个产品页面,显示产品和筛选页面。在过滤器页面有一个按钮,根据情况它有两个条件。根据过滤器,我显示来自数据库的不同产品。Segue在快速重新加载视图
我有一个问题。如果用户转到筛选屏幕并选择任何内容,我应该返回相同的页面,然后再次不加载我的视图。
如果从过滤器视图中选择了任何东西,则此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
}
}
最后在产品页面中,您应该设置filterDelegate,当您将显示过滤器pa GE。在过滤器页面中,当用户选择一个过滤器时,您将调用filterSelectorDelegate.selectFilter("selectedFilter")
。
是你的产品和过滤器在不同的视图? – Lee
是的,他们是不同的意见。 – berkt
你有没有试过NSNotificationCenter? – Lee