アプリがバックグラウンドに入る、または再びフォアグラウンドに入るときに UISearch をリセットしたい。UISearch の tableview が非表示になったらそれで十分です。
しかし、AppDelegate.m から非表示にしようとすると、機能しません。UIElements もログに記録しました。(null) もあります。
これが私がそれにアクセスしようとする方法です:
- (void)applicationWillEnterForeground:(UIApplication *)application
{
XLog(@"");
/*
Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
*/
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
XLog(@"");
searchViewController = [[SearchViewController alloc] initWithNibName:@"SearchViewController_iPad" bundle:[NSBundle mainBundle]];
} else {
XLog(@"");
searchViewController = [[SearchViewController alloc] initWithNibName:@"SearchViewController_iPhone" bundle:[NSBundle mainBundle]];
}
XLog(@"searchViewController.searchBar.text: %@", searchViewController.searchBar.text);
searchViewController.tableViewSearch.hidden = YES; // is (null)
XLog(@"searchViewController.tableViewSearch: %@", searchViewController.tableViewSearch); // is (null)
}
どうすればアクセスできますか? ここで何か問題がありますか、それとも appdelegate.m を介して他のクラスの要素にアクセスすることは許可されていませんか?