У меня есть 2 контроллера, а один - SubView. MainController имеет доступ к свойству SearchBar, а SubViewController - нет. Существует функция SearchBar в главном контроллере, который я хотел бы вызвать в контроллере подвид это функцияIOS Swift как включить функцию поиска в другую функцию
// MainController
func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
// Stop doing the search stuff
// and clear the text in the search bar
searchBar.text = ""
// Hide the cancel button
searchBar.showsCancelButton = false
searchBar.endEditing(true)
Popup.Close_View()
}
То, что я пытаюсь сделать, это обертка, что функция выше в другой функции, как этот
func Selected_Location() {
searchBarCancelButtonClicked(SearchBar)
}
так что в моем подвид контроллер я могу сделать
// SubView Controller
let Select_Close = MainController()
Select_Close.Selected_Location()
Я новичок в Swift и, как было сказано выше, как я могу получить searchBarCancel ButtonClicked функция и вызов ее внутри другой функции с? Я попытался сделать это несколькими способами, например, как
func Selected_Location() {
searchBarCancelButtonClicked(_ searchBar: UISearchBar)
}
func Selected_Location() {
searchBarCancelButtonClicked(searchBar)
}
Опять мой подвид контроллер не имеет доступа к UISearchBar поэтому я пытаюсь вызвать тесную функцию SearchBar внутри подвид.
С вашего текущего описания, есть несколько вещей, которые неясны: Я предполагаю, что MainController является SearchBar делегат правильно? Вы говорите, что у вас два контроллера, а один - подвью. Вы имеете в виду, что у вас есть два вида, и два контроллера представления, где одно представление является подчиненным другим, но у них обоих есть свой собственный контроллер? Пожалуйста, предоставьте более подробную информацию. Вы захотите реализовать эту функцию через делегата. –