我的myApp_AppDelegate.m中有这个:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
MainViewController *mainVC = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
[mainVC someMethod];
return YES; }
然后在我的MainViewController.m中使用方法:
-(void) someMethod{
searchBar.text = @"TEST";
NSLog(@"TEST");
}
当我使用url方案调用后台应用程序时,执行应用程序handleOpenURL方法并执行“someMethod”,我可以在控制台日志中看到“TEST”,但我的搜索栏中的文本值没有不要改变,搜索栏运行良好,因为在我的应用程序中我可以设置其他方法的文本值,但只有当从appDelgate调用该方法时,界面似乎“断开连接”“
有什么想法吗?我可以想象我错过了一些非常简单的东西。
THX!
答案 0 :(得分:1)
您正在创建一个视图控制器,但不会将其放在屏幕上。您需要找到主视图控制器的现有实例,或者将刚刚制作的实例推到屏幕上,将其设置为Windows根视图控制器或类似设置(不能说没有更多细节,我害怕)。
答案 1 :(得分:0)
执行以下操作时:
MainViewController *mainVC = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
[mainVC someMethod];
mainVC
的视图尚未加载,IBOutlet searchBar
仍为nil
。