zoukankan      html  css  js  c++  java
  • View的懒加载

    AppDelegate.m

    #import "AppDelegate.h"

    #import "ViewController.h"

    @interface AppDelegate ()

     

    @end

     

    @implementation AppDelegate

     

     

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

        // Override point for customization after application launch.

        UIWindow *window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];

        ViewController *vc = [[ViewController alloc] init];

    //    vc.view.backgroundColor = [UIColor purpleColor];//view的懒加载 View 的懒加载只有需要的时候才加载

    //    NSLog(@"aaaaaa");

        window.rootViewController = vc;

        NSLog(@"aaaaaaa");

       

        //显示控制器view

        [window makeKeyAndVisible];

        NSLog(@"bbbbbb");

        self.window = window;

        return YES;

    }


    ViewController.m

    #import "ViewController.h"

     

    @interface ViewController ()

     

    @end

     

    @implementation ViewController

     

    - (void)viewDidLoad {

        [super viewDidLoad];

        // Do any additional setup after loading the view, typically from a nib.

        NSLog(@"%s",__func__);

    }

     

    - (void)didReceiveMemoryWarning {

        [super didReceiveMemoryWarning];

        // Dispose of any resources that can be recreated.

    }

     

    @end

     

    另一种情况

    #import "AppDelegate.h"

    #import "ViewController.h"

    @interface AppDelegate ()

     

    @end

     

    @implementation AppDelegate

     

     

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

        // Override point for customization after application launch.

        UIWindow *window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];

        ViewController *vc = [[ViewController alloc] init];

        vc.view.backgroundColor = [UIColor purpleColor];//view的懒加载 View 的懒加载只有需要的时候才加载

        NSLog(@"aaaaaa");

        window.rootViewController = vc;

    //    NSLog(@"aaaaaaa");

       

        //显示控制器view

        [window makeKeyAndVisible];

        NSLog(@"bbbbbb");

        self.window = window;

        return YES;

    }

     

    1.懒加载基本

    懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其get方法.

    注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化

    2.使用懒加载的好处:

    (1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强

    (2)每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合

  • 相关阅读:
    软件命名规则
    从命令行git转到Tortoise
    如何让浏览器不解析html?
    说几点我觉得谷歌浏览器不好的地方
    移动端开发:使用jQuery Mobile还是Zepto
    开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
    给大家讲个故事,感受一下什么叫CF。不知道的请认真听。
    cmd中utf-8编码的问题
    web前端关于html转义符的常用js函数
    js实例分析JavaScript中的事件委托和事件绑定
  • 原文地址:https://www.cnblogs.com/Lu2015-10-03/p/5147832.html
Copyright © 2011-2022 走看看