美文网首页
+load和+initialize区别

+load和+initialize区别

作者: weyan | 来源:发表于2018-11-26 08:31 被阅读0次
    //当类被加载到内存会调用(在程序启动时加载所有类的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];
    }
    

    相关文章

      网友评论

          本文标题:+load和+initialize区别

          本文链接:https://www.haomeiwen.com/subject/qbmkqqtx.html