2016-03-08 2 views
0

У меня есть страница с продуктами, которая показывает продукты, а также страницу фильтра. На странице фильтра есть кнопка, и в зависимости от ситуации у нее есть 2 условия. В соответствии с фильтрами я показываю разные продукты из базы данных.Segue in swift reload view

У меня есть одна проблема. Если пользователь переходит на экран фильтра и ничего не выбирает, я должен возвращать ту же страницу, без загрузки снова моего представления.

Если что-либо, выбранное на экране фильтра, этот сег должен перезагрузить экран продукта и получить правильные данные с помощью выбранных фильтров.

Как я могу установить эту кнопку для перехода на 2 разных типа?

+0

Является ли ваш продукт и фильтр при разных условиях? – Lee

+0

Да, они разные. – berkt

+0

Вы пробовали NSNotificationCenter? – Lee

ответ

0

Вы должны определить свой собственный протокол, назовите его 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"), когда пользователь выбирает фильтр.