Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class FeastSearchTableViewController: UITableViewController, UISearchResultsUpdating {
- var feastEntries = [FeastEntry]()
- var filteredFeasts = [FeastEntry]()
- /* let tableData = ["One","Two","Three","Twenty-One"]
- var filteredTableData = [String]()*/
- var resultSearchController = UISearchController()
- override func viewDidLoad() {
- super.viewDidLoad()
- self.resultSearchController = ({
- let controller = UISearchController(searchResultsController: nil)
- controller.searchResultsUpdater = self
- controller.dimsBackgroundDuringPresentation = false
- controller.searchBar.sizeToFit()
- self.tableView.tableHeaderView = controller.searchBar
- return controller
- })()
- self.feastEntries = [FeastEntry(category:"Chocolate", name:"chocolate Bar"),
- FeastEntry(category:"Chocolate", name:"chocolate Chip"),
- FeastEntry(category:"Chocolate", name:"dark chocolate"),
- FeastEntry(category:"Hard", name:"lollipop"),
- FeastEntry(category:"Hard", name:"candy cane"),
- FeastEntry(category:"Hard", name:"jaw breaker"),
- FeastEntry(category:"Other", name:"caramel"),
- FeastEntry(category:"Other", name:"sour chew"),
- FeastEntry(category:"Other", name:"gummi bear")]
- // Reload the table
- self.tableView.reloadData()
- }
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
- override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
- return 1
- }
- override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- // 2
- if (self.resultSearchController.active) {
- return self.filteredFeasts.count
- }
- else {
- return self.feastEntries.count
- }
- }
- override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
- let feasts = self.feastEntries[indexPath.row]
- let cell = tableView.dequeueReusableCellWithIdentifier("TimelineCellPhoto") as! TimelineCell
- cell.typeImageView.image = UIImage(named: "timeline-photo")
- cell.profileImageView.image = UIImage(named: "profile-pic-2")
- cell.nameLabel.text = feasts.name
- cell.photoImageView?.image = UIImage(named: "dish")
- cell.dateLabel.text = "2 mins ago"
- cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator
- return cell
- }
- override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
- self.performSegueWithIdentifier("feastDetail", sender: tableView)
- }
- override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
- if segue.identifier == "feastDetail" {
- let candyDetailViewController = segue.destinationViewController as! UIViewController
- }
- }
- func updateSearchResultsForSearchController(searchController: UISearchController)
- {
- filteredFeasts.removeAll(keepCapacity: false)
- let searchPredicate = NSPredicate(format: "category CONTAINS[c] %@", searchController.searchBar.text)
- //let array = (feastEntries as NSMutableArray).filteredArrayUsingPredicate(searchPredicate)
- /* let array = (feastEntries as NSArray).filteredArrayUsingPredicate(searchPredicate)
- filteredFeasts = array as! [String]
- */
- self.tableView.reloadData()
- }
- }
- struct FeastEntry {
- let category : String
- let name : String
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement