0

我正在使用ShareKitiOS 应用程序的开源共享基础。有一个已知错误会阻止 Kit 检测到您的根视图控制器是什么。该错误的修复是[SHK setRootViewController:myViewController];在应用程序委托中添加。

如果修复在UIApplication didFinishLaunching方法中,视图控制器不就是self吗?我错过了什么?我也试过了self.viewController,没有用。self.window.rootViewControllerself.window

编辑:这是整个didFinishLoading

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.viewController = [[Chatter_BoxViewController alloc] initWithNibName:@"Chatter_BoxViewController" bundle:nil]; 
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    [SHK setRootViewController:self.viewController];

    return YES;
}
4

1 回答 1

2

如果在 didFinishLaunching 中它只是“self”,它会引用 UIApplication,你不同意吗?您是否正确启动了viewController?再贴一些代码。:)

评论您的编辑:

如果您在 XIB 中正常设置了 Window,则不需要:

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

此外,如果您这样做(假设您的 viewController 被保留为属性):

self.viewController = [[Chatter_BoxViewController alloc] initWithNibName:@"Chatter_BoxViewController" bundle:nil]; 

你会有泄漏。只需这样做:

viewController = [[Chatter_BoxViewController alloc] initWithNibName:@"Chatter_BoxViewController" bundle:nil]; 
于 2011-07-25T23:04:29.030 回答