zoukankan      html  css  js  c++  java
  • Explain awakeFromNib, initwithFrame usage

    I am going through the Stanford iphone dev lectures on iTunes and ran into this in Lecture 5. We are trying to ensure a redraw will be done when the device rotates. I have two questions related to this:

    1. what is awakeFromNib, there's no call to this method in the rest of the code, how was it triggered?
    2. what does the codes inside initwithFrame do?

    Thank you.

    -(void)setup 
    {
        self.contentMode =UIViewContentModeRedraw;
    }
    -(void)awakeFromNib {
      [self setup];
    }

    -(id)initWithFrame:(CGRect)frame { self=[super initWithFrame:frame];  
    if(self){
        [self setup];
      }
      return self; }

    awakeFromNib is called by NSBundle when it finishes loading your nib. You've actually got two different code paths your code can take when initializing a view, depending on whether it's loaded from a nib or created at runtime. If it's loaded from a nib, part of the loading will initialize it by callinginitWithCoder:, followed by a later call of awakeFromNib after all the outlets have been connected. If you create the view programmatically, you initialize it with initWithFrame: instead (andawakeFromNib is never called because it wasn't loaded from a nib).

    self is a pointer to the current object (it's implicitly defined for every non-static method). super lets you call the object's superclass's implementation of the current method. The self = [super init...] is a convention for how you invoke the superclass's initializer (since it can possibly return a different object). These are fundamental notions in Objective-C and object-oriented programming though, a fair bit beyond the scope of the original question.

     
  • 相关阅读:
    【BZOJ1087】状压dp
    【数据库课程设计】
    【BZOJ1295】最短路
    vue组件间通信六种方式(完整版)
    常见六大Web安全攻防解析
    4、css之position
    hue集成各种组件
    1.25-1.26 Coordinator数据集和oozie bundle
    1.22-1.24 Oozie企业使用案例
    1.18-1.21 Oozie Coordinator调度
  • 原文地址:https://www.cnblogs.com/mumue/p/3055757.html
Copyright © 2011-2022 走看看