2011-07-25 207 views
0

我正在與ShareKit合作,這是iOS應用程序的開源共享基礎。有一個已知的錯誤,阻止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; 
} 

回答

2

如果它只會在didFinishLaunching將參考UIApplication的,你不同意「自我」?你是否正確啓動了viewController?張貼更多的代碼。 :)

評論您編輯:

如果您在窗口中的廈門國際銀行通常設置你不需要這樣的:

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]; 
+0

在編輯中添加了代碼,讓我知道你在想什麼。 –

+0

編輯我的文章。 – Peres

+0

這些只是iOS 5基於視圖的應用程序的默認值,我沒有改變它們。由於iOS 5中的ARC,我不必擔心'self.viewController'泄漏。我仍然想知道'[SHK]'這一行。 –