我在我的didFinishLaunchingWithOptions:方法的XCode中交互式地执行代码,并注意到它在此伪代码的最后一行暂停了大约4秒:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
create and initialize model
...
create UIViewController
create navController with view controller
self.window.rootViewController = navController;
其中navController的名称暗示为UINavigationController。
为什么在单步使用Xcode时暂停此特定行?
我正在使用didFinishLaunchingWithOptions初始化我的模型:当模型在创建时扫描相当多的数据对象(扫描文件,读取它们和创建对象,因此可能不会巧合地测试行为)当有很多文件时会很慢)。目前,模型初始化是同步的,我看到确定它是否应该变为异步需要多长时间,而且当我注意到这种行为时。
如果它是需要时间构建的模型,这就是我在IDE中看到延迟的原因那么为什么在设置rootViewController时会出现这种延迟,而不是在构建模型时?
澄清我的问题:
我不是在问为什么我的代码慢了
我不是在问如何追踪慢速代码的位置
我要问的是,仅仅因为我很好奇,这就是为什么如果我的模型初始化速度很慢,那么当交互式地通过调试器中的代码转移到窗口的RVC时,它就会显示出来。
< / LI>