方法从AppDelegate调用的MainView运行,但接口没有更改

时间:2012-03-08 18:00:35

标签: iphone interface nib

我的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!

2 个答案:

答案 0 :(得分:1)

您正在创建一个视图控制器,但不会将其放在屏幕上。您需要找到主视图控制器的现有实例,或者将刚刚制作的实例推到屏幕上,将其设置为Windows根视图控制器或类似设置(不能说没有更多细节,我害怕)。

答案 1 :(得分:0)

执行以下操作时:

MainViewController *mainVC = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
[mainVC someMethod];

mainVC的视图尚未加载,IBOutlet searchBar仍为nil