Я новичок в Swift, и я пытаюсь добавить функциональность поиска к моему UITableView
, который находится в классе UIViewController
. Я много искал в googled и обнаружил, что UISearchDisplayController
устарел и заменен на UISearchController. Когда я попытался найти учебники, я специально не нашел для UITableView
. Некоторые из них были реализованы в UITableViewController
. Итак, вот мои вопросы:
-
Можем ли мы реализовать
UISearchController
вUITableView
, который находится в классеUIViewController
? (Я думаю, мы можем) -
Если мы сможем, пожалуйста, конвертируйте эти строки кодов, написанных в Objective-C. Или, если есть действительно хорошие учебники, пожалуйста, дайте мне знать.
@property (strong, nonatomic) UISearchController *searchController; UITableViewController *searchResultsController = [[UITableViewController alloc] init]; // Init UISearchController with the search results controller self.searchController = [[UISearchController alloc] initWithSearchResultsController:searchResultsController]; // Link the search controller self.searchController.searchResultsUpdater = self;
РЕДАКТИРОВАТЬ: Я пытаюсь назначить обновление результатов поиска в виде
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, UISearchResultsUpdating {
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor.blackColor()
self.addTableViewWithSection()
self.searchResultsController = UITableViewController()
var controller = UISearchController(searchResultsController: nil)
controller.searchResultsUpdater = self
controller.dimsBackgroundDuringPresentation = false
}
}
* Однако на строке controller.searchResultsUpdater = self я получаю eroor как нельзя присвоить значение типа "ViewController" для значения типа " UISearchResultsUpdating?".. Поэтому я действительно сомневаюсь, могу ли я использовать UISearchController в классе UIViewController.