我是编码的新手,我一直在取得很大的进步......直到现在!我一直在为iPhone设置一个应用程序,但我遇到了一堵墙。
我正在尝试将HomeViewController
的{{1}}中的searchString发送到UISearchBar
的{{1}},然后我想要tableViewController
UISearchBar
根据初始searchString自动执行搜索,从而用过滤后的数组填充TableViewController
表。
当我使用主视图的UISearchBar
时,它会将应用程序推送到表视图,但是,数据库的数组不会被过滤。表格视图确实有一个功能TableViewController
,可以根据我提供的各种searchBar
来过滤我的数组。
我根据谷歌发现的例子做了很多尝试,但似乎没什么用。
这是我的相关代码。 (我遗漏了一些我认为与手头问题无关的代码。)
家庭视图控制器
UISearchBar
...
...
...
我的searchStrings
看起来很相似,尽管变量略有不同。我试过在@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];
}
方法中操作代码,正如我在其他帖子中看到的那样,但没有任何效果。
我非常感谢能得到的任何帮助 - 感谢您阅读本文并感谢您的时间!
答案 0 :(得分:0)
在Tableviewcontroller中声明NSString的属性。并在.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];
}