设置searchBar.text在视图中加载

我试图设置我的searchBar.text当我从视图1太查看2.我传递一个string到视图2成功但是我想设置string为searchBar.text过滤我的表。 这是我的代码到目前为止,但似乎并没有工作。

- (void)viewDidLoad { [super viewDidLoad]; self.title = NSLocalizedString(@"Places", nil); self.managedObjectContext = [self getContext]; UIBarButtonItem * sortButton = [[UIBarButtonItem alloc] initWithTitle:@"Sort" style:UIBarButtonItemStyleBordered target:self action:@selector(sort)]; self.navigationItem.rightBarButtonItem = sortButton; [sortButton release]; //HIT WS TO SEE LAST UPDATED AND COMPARE TO STORED LAST UPDATED DATE //IF WS HAS NEWER DATE,BLOW CD AWAY AND CALL getRSSDAta self.searchBar.delegate = self; self.title = @"Results"; self.navigationController.navigationBarHidden = NO; __tableView.delegate = self; __tableView.dataSource = self; searchedData = [[NSMutableArray alloc]init]; tableData = [[NSMutableArray alloc]init]; [tableData addObjectsFromArray:_PlaceArray];//on launch it should display all the records [recurringArray initWithObjects:@"Alphabetical",@"Rating Low to High", @"Rating Hight to Low", nil]; UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"background_texture.png"]]; self.view.backgroundColor = background; [background release]; recurringDate = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 190, 320, 200)]; recurringDate.showsSelectionIndicator = YES; recurringDate.delegate = self; [recurringDate selectRow:0 inComponent:0 animated:YES]; [self.view addSubview:recurringDate]; recurringDate.hidden = YES; NSLog(@"search text is %@", self.search); searchBar.text = self.search; [self searchBarSearchButtonClicked:searchBar]; } - (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { // only show the status bar's cancel button while in edit mode useSearchData = YES; self.searchBar.showsCancelButton = YES; self.searchBar.autocorrectionType = UITextAutocorrectionTypeNo; // flush the previous search content [tableData removeAllObjects]; } - (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar { self.searchBar.showsCancelButton = NO; } - (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { if([searchText isEqualToString:@""] && [__searchBar.text isEqualToString:@""]){ //if nothing is in the search bar show normal table useSearchData = NO; [self.tableView reloadData]; [self.searchBar resignFirstResponder]; return; } else { searchText = __searchBar.text; useSearchData=YES; NSPredicate * p = [NSPredicate predicateWithFormat:@"name contains[cd] %@",searchText]; //comparing stored locations to searchText self.searchResults = [CoreDataBasicService fetchResultsForEnity:@"Place" WithPredicate:p andSortDiscriptor:@"name" Ascending:YES]; [self.tableView reloadData]; } } - (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar { useSearchData = NO; [self.searchResults removeAllObjects]; [self.tableView reloadData]; [self.searchBar resignFirstResponder]; self.searchBar.text = @""; } -(void)searchBarSearchButtonClicked:(UISearchBar *)_searchBar { [searchBar resignFirstResponder]; } 

可能听起来很傻,但是确保你用IB连接起来了,当我通过一些代码干扰时,我忘了这么做