отправка UISearchBar searchString одного представления в UISearchBar другого представления и выполнение поиска - PullRequest
0 голосов
/ 18 января 2012

Я новичок в кодировании, и я добился большого прогресса ... до сих пор! Я настраивал приложение для iPhone, но наткнулся на стену.

Я пытаюсь отправить searchString с моих HomeViewController UISearchBar на tableViewController UISearchBar, и затем я хочу, чтобы мои TableViewController UISearchBar автоматически выполняли поиск на основе начального searchString, таким образом заполняя таблицу TableViewController фильтрованным массивом.

Когда я использую домашнее представление searchBar, оно толкает приложение к табличному представлению, однако массив базы данных не фильтруется. В табличном представлении действительно есть функционал UISearchBar, который может фильтровать мой массив на основе различных searchStrings, которые я ему предоставляю.

Я пробовал много вещей, основываясь на примерах, которые я нашел через Google, но, похоже, ничего не работает.

Вот мой соответствующий код. (Я оставил немного кода, который, я думаю, не имеет отношения к рассматриваемой проблеме).

ГЛАВНЫЙ КОНТРОЛЛЕР ПРОСМОТРА

@interface HomeViewController : UIViewController <UISearchBarDelegate>
{

NSString *pushedSearchString;    
UISearchBar *homeSearchBar;

}

@property (strong) NSString *pushedSearchString;    
@property (nonatomic,strong) IBOutlet UISearchBar *homeSearchBar;

...    
...    
...

@implementation HomeViewController

@synthesize pushedSearchString, homeSearchBar;

- (void)updateSearchString:(NSString*)aSearchString    
{    
pushedSearchString = [[NSString alloc] initWithString:aSearchString];    
}    
- (void)searchBarButtonClicked:(UISearchBar *)searchBar    
{    
[self updateSearchString:searchBar.text];    
[searchBar resignFirstResponder];    
TableViewController *tableViewController = [self.storyboard insantiateViewControllerWithIdentifier:@"table"];    
table.title = @"Results";    
[self.navigationController pushViewController:table animated:YES];    
}

...

...

...

Мой TableViewController выглядит аналогично, хотя в нем немного другие переменные. Я пытался манипулировать кодом внутри метода -(void)viewWillAppear:(BOOL)animated, как я видел в других публикациях, но ничего не получалось.

Я был бы очень признателен за любую помощь, которую я могу получить - спасибо, что прочитали это, и спасибо за ваше время!

1 Ответ

0 голосов
/ 18 января 2012

Объявите свойство для строки NSSt в Tableviewcontroller. И синтезируйте его в файле .m. И внесите следующие изменения в метод homeviewcontroller.

- (void)searchBarButtonClicked:(UISearchBar *)searchBar    
{    
[self updateSearchString:searchBar.text];    
[searchBar resignFirstResponder];    
TableViewController *tableViewController = [self.storyboard insantiateViewControllerWithIdentifier:@"table"];
table.someString = searchBar.text;
table.title = @"Results";    
[self.navigationController pushViewController:table animated:YES];    
}
...