+load和+initialize区别

2018-11-26  本文已影响0人  weyan
//当类被加载到内存会调用(在程序启动时加载所有类的load方法,然后调用main方法)
+ (void)load {
    NSLog(@"%s",__func__);
}

//当前类或者它子类第一次使用时调用(加载子类时也会调用父类的initialize方法)
//在类方法当中没有办法访问当前类的成员属性.
+ (void)initialize {
    NSLog(@"%s",__func__);
    
    //获取全局的(整个应用程序)导航条
    //凡是使用到UINavigationBar的地方全部设置以下属性 (背景,颜色)
    //UINavigationBar *bar = [UINavigationBar appearance];
    
    
    //获取指定类下的导航条
    UINavigationBar *bar = [UINavigationBar appearanceWhenContainedInInstancesOfClasses:@[
                                                                                          [self class]
                                                                                          ]
                                                                            ];
    [bar setBackgroundImage:[UIImage imageNamed:@"navBg"] forBarMetrics:UIBarMetricsDefault];
    
    NSDictionary *dict= @{
                          
                          NSForegroundColorAttributeName : [UIColor whiteColor],
                          NSFontAttributeName : [UIFont boldSystemFontOfSize:20]
                          
                          };
    
    [bar setTitleTextAttributes:dict];
}
上一篇 下一篇

猜你喜欢

热点阅读