gpt4 book ai didi

ios - 当前可见 View Controller 检查

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:03:14 28 4
gpt4 key购买 nike

我正在从我的 AppDelegate 类检查我的 ParentEndViewController 当前是否是可见类。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle: nil];  
ParentEndViewController *parent = [storyboard instantiateViewControllerWithIdentifier:@"ParentEndViewController"];
if (parent.isViewLoaded && parent.view.window){
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:displayName
message:body
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alertView show];
NSLog(@"current view is parent!");
}
else{
NSLog(@"current view is not parent!");
}

正在打印 current view is not parent!”。但我确信我的应用程序上运行的当前 View 是 ParentEndViewController,即它应该打印 当前 View 是父 View !

问题出在哪里?

最佳答案

问题是当你调用[storyboard instantiateViewControllerWithIdentifier:@"ParentEndViewController"];时,你实例化了一个ParentEndViewController的新对象,这个实例与你的 Root View Controller 的实例。如果您在应用程序委托(delegate)中检查应用程序的 Root View Controller ,您应该尝试

if([self.window.rootViewController isKindOfClass:[ParentEndViewController class]]) {
NSLog(@"Luke I'm your father");
}
else {
NSLog(@"Sorry bro, somebody else is the parent");
}

如果您正在检查导航 Controller 的最后一个 View Controller ,您应该尝试类似的方法:

UIViewController *lastViewController = [[self.navigationController viewControllers] lastObject];

if([lastViewController isKindOfClass:[ParentEndViewController class]) {
NSLog(@"Luke I'm your father");
}
else {
NSLog(@"Sorry bro, somebody else is the parent");
}

关于ios - 当前可见 View Controller 检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16276631/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com