2011-12-06 72 views
2

嗨,我很新的iPhone開發,希望放在一起相當實質的應用程序,只是想知道應該查看控制器在應用程序的生命週期中使用的後續在AppDelegate註冊在開始只是根據需要介紹?iPhone視圖控制器註冊

例如,我開始需要一個UINavigationController所以我註冊的AppDelegate和我不在的時候,但是下面的中間頁我 使用TabController所以我只是介紹了它的第3頁上或登錄頁面在AppDelegate註冊?

更多的建築最佳實踐問題真的:)

回答

0

以及回答你的問題簡潔。 iPhone應用程序應儘可能使用最少量的內存。因此,在需要時引入視圖控制器會消耗更少的內存,然後將所有內容從頭到尾保持打開並運行。 希望能回答你的問題。

+0

正如我懷疑,感謝您的答覆 –

+0

如果您的問題被回答,你可以在這個崗位檢查「V」,讓其他人知道他們不必再回答.. :) – stackr

6

當應用程序啓動時,加載主要的xib。 我們基本上提供非常第一VIE /視圖控制器時,應用程序在應用程序的委託啓動在功能

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

這非常第一視圖控制器可以是UIViewController中,的UITabBarController,UINavigationController的等,總之,任何視圖控制器。

在這裏,應用程序可以通過示出了一個又一個的像模態呈現視圖控制器,推的圖控制器(在UINavigationController的的情況下)多種方式新的/其他視圖控制器進行等

0

通常,你只應該實例化你需要保存內存的類。如果你在代碼中創建了視圖,一個好的方法是使用@property的getter方法來創建類。例如,如果你有一個頭文件:

@interface MyClass 
    @property (nonatomic, retain) UIView *myView; 
@end 

和實施文件:

@implementation MyClass 

@synthesize myView; 

- (UIView *)myView { 
    if (myView == nil) { 
     myView = [[MyView alloc] init]; 
     // do more initializations 
    } 
    return myView; 
} 

然後,你可以訪問視圖在任何時候,如果它尚未創建它會是,例如

[superView addSubView:self.myView];