技术群小伙伴发现获取的当前VC为空,往上追溯发现window也为空。所以引起了一大波探讨?
以下给出不同的方案:
出问题的小伙伴给截的图:
以下是群里面小伙伴给的 意见:
po 下 frontView
或者 window 不是 main window
可能是键盘的window
或者 alertView 的window
弹出键盘和 alert 后都会创建一个新的 window
keyWindow 有可能不是你显示view 的window
po [window subvies]
po [window recursiveDescription]
提供的另一个方法
- (id)traverseResponderChainForFirstViewController
{
id nextResponder = [self nextResponder];
if ([nextResponder isKindOfClass:[UIViewController class]]) {
return nextResponder;
} else if ([nextResponder isKindOfClass:[UIView class]]) {
return [nextResponder traverseResponderChainForFirstViewController];
} else {
return nil;
}
}