に私はviewDidLoad
の内部tableHeaderView
としてsearchBar
を設定しようとした違いのviewDidLoad
func fetch() {
let fetchRequest:NSFetchRequest<Phone> = Phone.fetchRequest()
fetchRequest.sortDescriptors = [NSSortDescriptor.init(key: "header", ascending: true), NSSortDescriptor.init(key: "date", ascending: true)]
self.fetchedResultsController = NSFetchedResultsController.init(fetchRequest: fetchRequest, managedObjectContext: self.managedObjectContext, sectionNameKeyPath: "header", cacheName: nil)
self.fetchedResultsController.delegate = self
do {
try self.fetchedResultsController.performFetch()
self.tableView.reloadData()
} catch {}
}
しかし、私はしないでください彼らは動作していないことを理解する。 Xcodeがクラッシュし、実際に何も起こりません。そして、私はviewDidLoad
メソッド内の何かを変更しようとしました:
override func viewDidLoad() {
super.viewDidLoad()
self.fetch()
self.tableView.reloadData()
// SearchController initializiation
self.searchController = UISearchController.init(searchResultsController: nil)
self.searchController.delegate = self
self.searchController.searchBar.delegate = self
self.searchController.searchBar.sizeToFit()
self.searchController.searchResultsUpdater = self
self.searchController.searchBar.barTintColor = UIColor.white
self.searchController.searchBar.keyboardAppearance = .default
self.searchController.searchBar.backgroundColor = UIColor.white
self.searchController.hidesNavigationBarDuringPresentation = true
self.searchController.obscuresBackgroundDuringPresentation = false
self.tableView.tableHeaderView = self.searchController.searchBar
self.definesPresentationContext = true
}
成功!適切に動作します。違いは何か分かりませんか?
クラッシュ時のエラーメッセージは何ですか?それがクラッシュする正確な線は何ですか?スタックトレースを共有してください。 –
何もない!コンソールのみ(lldb) – Mannopson
コンソールに情報はありますか?問題を解決するための十分な情報がありません。 –