Я разбираю xml и у меня есть панель поиска. Когда я пытаюсь выполнить поиск, я получаю эту ошибку:
Can't do regex matching on object
.
Я думаю, проблема здесь:
- (void) searchTableView
{
[filteredList superclass];
filteredList = nil;
filteredList = [[NSMutableArray alloc] initWithArray:app.listArray];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF like[c] %@",[NSString stringWithFormat:@"%@*",search.text]];
[filteredList filterUsingPredicate:predicate];
}
Я новичок в Xcode.
Вот мой класс MasterViewController:
@implementation MasterViewController
@synthesize app;
@synthesize detailViewController = _detailViewController;
@synthesize theList;
@synthesize filteredList;
@synthesize search;
- (void)viewDidLoad
{
[super viewDidLoad];
app = [[UIApplication sharedApplication] delegate];
filteredList = [[NSMutableArray alloc] initWithArray:app.listArray];
[self.tableView reloadData];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
//return [app.listArray count];
return [filteredList 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];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
theList = [app.listArray objectAtIndex:indexPath.row];
cell.textLabel.text = theList.znacka;
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
}
- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
- (void) searchTableView
{
[filteredList superclass];
filteredList = nil;
filteredList = [[NSMutableArray alloc] initWithArray:app.listArray];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"count=%d",[NSString stringWithFormat:@"%@*",search.text]];
[filteredList filterUsingPredicate:predicate];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DetailViewController *detailView = [[DetailViewController alloc] init];
theList = [app.listArray objectAtIndex:indexPath.row];
detailView.theList = theList;
[self.navigationController pushViewController:detailView animated:YES];
}
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
[self searchTableView];
[self.tableView reloadData];
}
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[self searchTableView];
[search resignFirstResponder];
}
@end
У меня есть поисковая панель в MasterViewController.xib. Там у меня есть пять элементов (theList.znacka) из XML, и теперь мне нужен поиск по этим элементам.