Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone视图控制器寄存器_Iphone_Objective C_Ios_Cocoa Touch - Fatal编程技术网

iPhone视图控制器寄存器

iPhone视图控制器寄存器,iphone,objective-c,ios,cocoa-touch,Iphone,Objective C,Ios,Cocoa Touch,大家好,我对iPhone的开发还很陌生,我想组装一个相当重要的应用程序,只是想知道在应用程序生命周期的后期使用的视图控制器是否应该在刚引入的AppDelegate中注册 例如,我从一个需要UINavigationController的登录页面开始,所以我向AppDelegate注册,然后我就离开了,但是在一个中间页面之后我就离开了 使用TabController,我是在第3页介绍它还是在AppDelegate中注册 更多的是一个架构最佳实践问题:)很好地回答您的问题,简短而简单。iPhone应用

大家好,我对iPhone的开发还很陌生,我想组装一个相当重要的应用程序,只是想知道在应用程序生命周期的后期使用的视图控制器是否应该在刚引入的AppDelegate中注册

例如,我从一个需要UINavigationController的登录页面开始,所以我向AppDelegate注册,然后我就离开了,但是在一个中间页面之后我就离开了 使用TabController,我是在第3页介绍它还是在AppDelegate中注册


更多的是一个架构最佳实践问题:)

很好地回答您的问题,简短而简单。iPhone应用程序应该使用尽可能少的内存。因此,在需要时引入视图控制器比保持所有内容从开始到结束都处于打开和运行状态要节省大量内存。
希望这能回答您的问题。

当应用程序启动时,将加载主xib。 当应用程序在函数中的应用程序委托中启动时,我们基本上提供了第一个vie/视图控制器

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
第一个视图控制器可以是UIViewController、UIAbbarController、UINavigationController等。简言之,任何视图控制器


从这里开始,您的应用程序可以通过各种方式一个接一个地显示新的/其他视图控制器,如以模式显示视图控制器、推送视图控制器(在UINavigationController的情况下)等。

通常,您应该只实例化需要节省内存的类。如果在代码中创建视图,一个好方法是使用@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];

如果你的问题得到了回答,你可以在这篇文章中勾选“v”,这样其他人就知道他们不必再回答了:)