应用启动缓慢

bur*_*rki 1 iphone xcode uiapplication

我的iPhone应用程序启动非常缓慢,我不知道为什么.我application:didFinishLaunchingWithOptions:不是很重,我只是为我的标签栏控制器的五个视图控制器中的每一个设置managedObjectContext.

有人知道导致发射缓慢的原因吗?谢谢.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    mathRootViewController.managedObjectContext = self.managedObjectContext;
    favoriteRootViewController.managedObjectContext = self.managedObjectContext;
    chemistryRootViewController.managedObjectContext = self.managedObjectContext;
    physicsRootViewController.managedObjectContext = self.managedObjectContext;
    shareRootViewController.managedObjectContext = self.managedObjectContext;

    [window addSubview:tabBarController.view];
    [window makeKeyAndVisible];


    return YES;
}
Run Code Online (Sandbox Code Playgroud)

dea*_*rne 7

看起来你有一个非常大的初始xib文件,它在启动时被读取和解析以填充mathRootViewController等.

尝试等待,直到你需要控制器加载它们之前,即将它们放在一个单独的xib文件中并添加看起来有点像这样的方法

- (UIViewController *)mathRootViewController {
    if (nil === mathRootViewController) {
        mathViewController = [[MathViewController alloc] initWithNibName:@"MathViewController" bundle:nil];
        [mathViewController setManagedObjectContext:[self managedObjectContext]];
    }
    return mathRootViewController;
}
Run Code Online (Sandbox Code Playgroud)

每次使用控制器时,不要只使用mathRootViewController ;,[self mathRootViewController ]而是使用- 此模式将等到第一次需要视图控制器创建它.