如何使用Objective-C在iOS 13中获取rootViewController?

如何使用Objective-C在iOS 13中获取rootViewController?,ios,objective-c,uiscenedelegate,uiwindowscene,Ios,Objective C,Uiscenedelegate,Uiwindowscene,我正在尝试使用Objective-C在iOS 13中获取rootViewController。我正在这样做: for (UIScene *scene in UIApplication.sharedApplication.connectedScenes) { UIWindowScene *windowScene = (UIWindowScene *) scene; UIWindowSceneDelegate *windowSceneDelegate = (UIWindowScene

我正在尝试使用Objective-C在iOS 13中获取
rootViewController
。我正在这样做:

for (UIScene *scene in UIApplication.sharedApplication.connectedScenes) {
    UIWindowScene *windowScene = (UIWindowScene *) scene;
    UIWindowSceneDelegate *windowSceneDelegate = (UIWindowSceneDelegate *) windowScene.delegate;
    windowSceneDelegate.window = ...
}
但是,当我尝试访问
windowSceneDelegate.window=
中的
窗口
属性(获取
根视图控制器
)时,我得到以下错误:

在转发类对象“UIWindowSceneDelegate”中找不到属性“window”

但是,当我转到
UIWindowSceneDelegate
的定义时,我看到一个
窗口
属性:

那么,在iOS 13中使用Objective-C获取rootViewController的正确方法是什么呢?

将代码更改为:

for(UIApplication.sharedApplication.connectedScenes中的UIScene*场景){
if([scene.delegate:protocol:@protocol(UIWindowSceneDelegate)]){
UIWindow*window=[(id)scene.delegate window];
}
}
打开
UIKit
s
UIWindowScene.h
头文件时,它包含:

@class UIScreen、UIWindow、UIWindowSceneDelegate、UISceneDestructionRequestOptions、CKShareMetadata、UISCeneSizerRestrictions;
看,这里有
UIWindowSceneDelegate
。这是前进宣言

阅读以了解转发声明是什么