2011-07-25 8 views
0

私はShareKit(iOSアプリのオープンソース共有基盤)と協力しています。あなたのルートビューコントローラが何であるかをKitが検出できない既知のバグがあります。そのバグに対する修正は、アプリケーション代理人に[SHK setRootViewController:myViewController];を追加しています。ルートビューコントローラ?

修正プログラムがUIApplication didFinishLaunchingメソッドにある場合、表示コントローラはselfになりませんか?私は何が欠けていますか?私もself.viewControllerself.window.rootViewControllerself.windowを利用してみました。

EDIT:ここでは全体didFinishLoadingだ:それは唯一のそれはのUIApplicationを参照することになりdidFinishLaunchingにおける「自己」であるかどう

- (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

、あなたが同意しませんか? viewControllerを正しく初期化していますか?もう少しコードを投稿してください。あなたの編集に:)

コメント:

あなたのXIBで正常に設定され、あなたのウィンドウを持っている場合は、この必要はありません:あなたはこの(あなたのViewControllerをされた仮定ない場合、また

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

をプロパティとして保持):

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]'行について不思議です。 –

関連する問題