如何从聚光灯搜索中启动该应用程序?

时间:2015-10-07 11:04:18

标签: ios objective-c iphone ios9

我已经在我的应用程序中实现了聚光灯搜索,一切正常,但在某些情况下,我想要知道从聚光灯搜索启动应用程序?请帮帮我,我怎么知道这个。

AppDelegate.m

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray *restorableObjects))restorationHandler{
    self.isSportlight = YES;
    self.strSportlightUnitname = [userActivity.userInfo valueForKey:@"kCSSearchableItemActivityIdentifier"];
    return YES;
}

rootViewcontroller.m

- (void)viewDidLoad
{
   if(!appDel.isSportlight){
        [self OnLaunchSettings];
    }else{
         [self setupSportLightEvent];
    }
}

预期结果是appDel.isSportlight = TRUE但是appDel.isSportlight总是变为FALSE因为" continueUserActivity:(NSUserActivity *)userActivity restorationHandler"方法调用" ViewDidLoad"

1 个答案:

答案 0 :(得分:0)

根视图控制器不应该使用app delegate签入,该关系是错误的方式。应用程序委托应告诉根视图控制器(或者如果其他控制器需要了解它,可能会发布全局通知),以便它可以随时响应,而不仅仅是在最初设置时。您需要编写代码,以便可以在不同的状态之间切换。这通常可以通过推送或添加/删除子视图控制器来完成,这样就可以划分每种模式的功能。

相关问题