Created
January 4, 2013 04:31
-
-
Save anthonycvella/4449934 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// TradeSelectNewTableViewController.m | |
// WarZ Companion | |
// | |
// Created by Anthony on 1/3/13. | |
// Copyright (c) 2013 Anthony. All rights reserved. | |
// | |
#import "ItemDatabase.h" | |
#import "TradeSelectNewTableViewController.h" | |
@interface TradeSelectNewTableViewController () | |
@end | |
@implementation TradeSelectNewTableViewController | |
@synthesize itemDatabaseArray, filteredItemDatabaseArray, itemSearchBar; | |
- (id)initWithStyle:(UITableViewStyle)style | |
{ | |
self = [super initWithStyle:style]; | |
if (self) { | |
// Custom initialization | |
} | |
return self; | |
} | |
- (void)viewDidLoad | |
{ | |
[super viewDidLoad]; | |
itemDatabaseArray = [NSArray arrayWithObjects: | |
[ItemDatabase itemOfCategory:@"weapons" name:@"Bat"], | |
[ItemDatabase itemOfCategory:@"weapons" name:@"Flashlight"], nil]; | |
self.filteredItemDatabaseArray = [NSMutableArray arrayWithCapacity:[itemDatabaseArray count]]; | |
[[self tableView] reloadData]; | |
} | |
- (void)didReceiveMemoryWarning | |
{ | |
[super didReceiveMemoryWarning]; | |
// Dispose of any resources that can be recreated. | |
} | |
#pragma mark - Table view data source | |
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView | |
{ | |
// Return the number of sections. | |
return 1; | |
} | |
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section | |
{ | |
// Return the number of rows in the section. | |
if (tableView == self.searchDisplayController.searchResultsTableView) { | |
return [filteredItemDatabaseArray count]; | |
} else { | |
return [itemDatabaseArray count]; | |
} | |
} | |
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { | |
static NSString *CellIdentifier = @"Cell"; | |
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; | |
if (cell == nil) { | |
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; | |
} | |
//Create new Item Database Object | |
ItemDatabase *item = nil; | |
if (tableView == self.searchDisplayController.searchResultsTableView) { | |
item = [filteredItemDatabaseArray objectAtIndex:indexPath.row]; | |
} else { | |
item = [itemDatabaseArray objectAtIndex:indexPath.row]; | |
} | |
//Configure the cell | |
[[cell textLabel] setText:[item name]]; | |
[cell setAccessoryType:UITableViewCellAccessoryNone]; | |
return cell; | |
} | |
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { | |
[self performSegueWithIdentifier:@"itemDetail" sender:tableView]; | |
} | |
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { | |
if ([[segue identifier]isEqualToString:@"itemDetail"]) { | |
TradeNewTableViewController *tradeNewTableViewController = [segue destinationViewController]; | |
if (sender == self.searchDisplayController.searchResultsTableView) { | |
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; | |
NSString *selectedItem = [[itemDatabaseArray objectAtIndex:[indexPath row]] name]; | |
tradeNewTableViewController.selectedItem = selectedItem; | |
} else { | |
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; | |
NSString *selectedItem = [[itemDatabaseArray objectAtIndex:[indexPath row]] name]; | |
tradeNewTableViewController.selectedItem = selectedItem; | |
} | |
} | |
} | |
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope { | |
[self.filteredItemDatabaseArray removeAllObjects]; | |
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"SELF.name contains[c] %@",searchText]; | |
filteredItemDatabaseArray = [NSMutableArray arrayWithArray:[itemDatabaseArray filteredArrayUsingPredicate:predicate]]; | |
} | |
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString { | |
[self filterContentForSearchText:searchString scope:[[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:[self.searchDisplayController.searchBar selectedScopeButtonIndex]]]; | |
return YES; | |
} | |
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchScope:(NSInteger)searchOption { | |
[self filterContentForSearchText:self.searchDisplayController.searchBar.text scope:[[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:searchOption]]; | |
return YES; | |
} | |
@end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment