Skip to content

Instantly share code, notes, and snippets.

function test() {
alert('this is a test');
}
func fetchData() {
do {
items = try context.fetch(Item.fetchRequest())
filteredData = items
DispatchQueue.main.async {
self.tableView.reloadData()
}
} catch {
print("Couldn't Fetch Data")
}
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
if searchText.isEmpty {
filteredData = items
} else {
filteredData = items.filter { ($0.name?.lowercased().contains(searchText.lowercased()))! }
}
DispatchQueue.main.async {
self.tableView.reloadData()
}
...
} else {
filteredData = items.filter { ($0.name?.lowercased().contains(searchText.lowercased()))! }
}
...
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
if searchText.isEmpty {
filteredData = items
} else {
// filter the array here, then update table
}
}
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
}
class DisplayTableViewController: UITableViewController, UISearchBarDelegate {
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
var items: [Item] = []
var selectedIndex: Int!
var filteredData: [Item] = []
...
class DisplayTableViewController: UITableViewController, UISearchBarDelegate {
...
func createSearchBar() {
let searchBar = UISearchBar()
searchBar.showsCancelButton = false
searchBar.placeholder = "Search"
searchBar.delegate = self
self.navigationItem.titleView = searchBar
}
@IBAction func updateAction(_ sender: Any) {
guard let newEntry = entryText.text else {
return
}
item.name = newEntry
(UIApplication.shared.delegate as! AppDelegate).saveContext()
dismiss(animated: true, completion: nil)
}