`
lovebirdegg
  • 浏览: 175046 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

awakeFromNib和viewDidLoad的区别

阅读更多
awakeFromNib
当.nib文件被加载的时候,会发送一个awakeFromNib的消息到.nib文件中的每个对象,每个对象都可以定义自己的awakeFromNib函数来响应这个消息,执行一些必要的操作。也就是说通过nib文件创建view对象是执行awakeFromNib

viewDidLoad
当view对象被加载到内存是就会执行viewDidLoad,所以不管通过nib文件还是代码的方式创建对象都会执行viewDidLoad

所以用以下代码运行程序时不执行awakeFromNib

   TestController *test = [[TestController alloc] initWithNibName:@"Test" bundle:nil];
   [self.view addSubview:test.view];


复制代码
而viewDidLoad不管在什么情况下都会执行
不知道理解的对不对
分享到:
评论

相关推荐

    initWithNibName和viewDidLoad执行顺序

    在iOS应用开发中,`initWithNibName:bundle:`和`viewDidLoad`是两个非常重要的方法,它们在UIViewController的生命周期内起到关键的作用。这篇文章将深入探讨这两个方法的执行顺序、功能以及如何在实际开发中正确...

    iOS UIcollectionView

    4. 注册Cell:在UICollectionView的awakeFromNib或viewDidLoad中注册你的Cell类,指定Cell的标识符。 5. 实现DataSource方法:提供数据,如numberOfItemsInSection、cellForItemAtIndexPath等。 6. 实现Delegate方法...

    IOS应用源码——ToyClock.rar

    7. **生命周期管理**:了解UIViewController的生命周期,如awakeFromNib、viewDidLoad、viewWillAppear等方法,对于理解应用的运行过程至关重要。 8. **集成开发环境(IDE)使用**:通过ToyClock,开发者可以学习...

    OC部分面试题

    8. **awakeFromNib与viewDidLoad**:`awakeFromNib`在对象从 nib 文件加载后调用,适合进行初始化设置。`viewDidLoad`在视图控制器的视图加载到内存时调用,无论视图是从 nib 加载还是代码创建。 9. **...

    IPhone开发教程

    理解ViewController的生命周期,如awakeFromNib、viewDidLoad、viewWillAppear等方法的作用。 5. **协议与委托**:Swift中的协议允许定义一组方法和属性,其他类型可以遵循这些协议。委托模式是iOS开发中常用的设计...

    swift-HHRefreshManager这是一个漂亮简易刷新控件使用简单

    例如,你可以在控制器的awakeFromNib或viewDidLoad方法中设置刷新头: ```swift refreshHeader = HHRefreshHeader() tableView.header = refreshHeader refreshHeader.addTarget(self, action: #selector(refresh...

    initWithCoder与initWithFrame

    每个ios开发者对loadView和viewDidLoad肯定都很熟悉,虽然这两个函数使用上真的是非常简单,但是和类似的initWithNibName/awakeFromNib/initWithCoder放在一起还是非常容易让人混淆的. 昨天看了下苹果官方的相关文档...

    屏幕切换模板源码

    7. **生命周期管理**:了解每个视图控制器的生命周期,如awakeFromNib、viewDidLoad、viewWillAppear等方法,对于合理处理屏幕切换过程中的资源加载和释放至关重要。 8. **状态保存与恢复**:在iOS开发中,屏幕切换...

    UITableView的使用方法及cell复用机制

    最后,别忘了在ViewController的`viewDidLoad`中注册cell的类或Nib,这样UITableView才知道如何创建它们: ```swift tableView.register(UINib(nibName: "MyCustomTableViewCell", bundle: nil), ...

    iOS面试题-OC部分

    awakeFromNib与viewDidLoad的区别 - **awakeFromNib:**当从Interface Builder加载视图时被调用。适用于从nib文件加载的对象。 - **viewDidLoad:**在视图被加载到内存后被调用。无论视图是从nib文件还是通过代码...

    IOS 生命周期

    比如,理解`viewDidLoad`和`viewWillAppear:`的区别,可以帮助你正确地设置视图的初始状态和执行延迟加载的操作。同时,了解应用程序在后台运行时的生命周期状态(如`applicationDidEnterBackground:`和`...

    ios TableView 自定义cell 分代码布局和xib两种方式

    在iOS开发中,UITableView是展示数据的常用控件,它以行和列的形式展示信息。在实际应用中,为了使界面更加丰富和个性化,我们常常需要自定义UITableViewCell。本篇文章将详细探讨两种自定义UITableViewCell的方法:...

    ios-storyboard,使用IBOutletCollection.zip

    然后在`ViewController.m`的`viewDidLoad`方法中,可以通过`menuButtons`属性来访问和操作这些按钮: ```objc - (void)viewDidLoad { [super viewDidLoad]; for (ViewButton *button in self.menuButtons) { /...

    IOS应用源码——TextScrollViewController.rar

    关键方法可能包括`awakeFromNib`、`viewDidLoad`、`viewWillAppear:`以及`viewDidAppear:`,这些方法是iOS生命周期中的关键点,开发者通常在这里初始化界面、加载数据和设置动画。特别是`viewDidLoad`,它是视图控制...

    IOSGame_HW1

    同时,理解应用的生命周期,如awakeFromNib、viewDidLoad等方法,能确保游戏在不同状态下的正确运行。 5. **游戏逻辑**:在iOS游戏中,游戏逻辑可能涉及到物理模拟、碰撞检测、动画效果等。Swift可以通过CoreMotion...

    14个Iphone类的应用例子

    这些状态包括`awakeFromNib`、`viewDidLoad`、`viewWillAppear`、`viewDidAppear`、`viewWillDisappear`和`viewDidDisappear`等。 3. **UI storyboard和XIB**:这两种都是设计用户界面的工具。Storyboard用于连接...

    斯坦福大学iOS开发教程2011年秋Lecture 8

    虽然viewDidLoad可能只被调用一次,但视图可能会多次出现和消失,因此不要将应在viewDidLoad中执行的操作放在viewWillAppear中,以免重复执行不必要的操作。可以在此处启动昂贵的计算或操作,以优化性能,但可能需要...

    CollectionViewDemo

    1. **注册单元格**:在UICollectionView的`awakeFromNib`或者`viewDidLoad`方法中,需要注册XIB/NIB文件对应的单元格类。这可以通过`registerNib: forCellWithReuseIdentifier:`或`registerClass: ...

    UICollectionViewController自定义Cell

    在`UICollectionViewController`的`viewDidLoad()`方法中,记得注册自定义的`UICollectionViewCell`类和布局: ```swift override func viewDidLoad() { super.viewDidLoad() collectionView.register...

    IOS应用源码之自定义Tab Bar的文字、颜色和图片加箭头.zip

    - 在Swift中,使用`@IBOutlet`和`@IBAction`同样适用,还可以利用`viewDidLoad()`或`awakeFromNib()`进行初始化配置。 6. **布局和动画**: - 自定义Tab Bar可能涉及到复杂的布局调整,如箭头的位置和方向。可以...

Global site tag (gtag.js) - Google Analytics