iOS中的initialize与load两个类方法简单理解

如果你在一个UIViewController中重写了这两个类方法,那么你会在在这个控制器中发现一下现象:

1,相同之处:
  (1)这两个类方法在init之前就调用了
  (2)在整个应用app中无论你用到这个类多少次,这两个类方法均只会被调用一次

2,不同之处:
  (1)load是在initialize之前被调用
  (2)更特别的是,如果你没有用到你重写的这个控制器.那你重写的load类方法也会调用.换句话说,这个load方法是在didFinishLaunchingWithOptions方法之前就被调用了
  (3)load方法,将整个工程中所有参与编译运行的文件,全部加载到内存.
  (4)initialize方法,当第一次使用某个类,就会调用;而且只会调用一次.

3:用法:initialize类方法
  initialize类方法的一个经典应用:
往往在一个应用APP中,导航条控制器的导航条几乎是统一的.再加上,一般情况一个应用APP会重写一个导航控制器类.那么initialize类方法就能出场了.比如:

  • (void)initialize {

    NSLog(@”%s:%s”,FILE,func);
    //设置导航栏主题

    UINavigationBar *navBar = [UINavigationBar appearance];
    //接下来就可以对navBar坐各种统一的设置处理了.比如字体,背景….
    }
    4: load类方法:
    调用时期的一种猜想:
    在编译的时候,整个工程项目中的所有文件都会参与编译;编译运行完成之后,所有的文件均load进入内存;load类方法在工程运行成功进入首页时候调用完毕.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值