• strong和weak的区别


    简单的说:strong是强引用,weak是弱引用。

    关于二者实际应用中的详细区别,可查看:http://blog.csdn.net/q199109106q/article/details/8565017

    代码示例:

           NSString *string = @"zhongguo";

        

        textField1 = [[UITextField alloc] init];

        textField1.frame = CGRectMake(10, 100, 100, 50);

        [self.view addSubview:textField1];

        

        textField2 = [[UITextField alloc] init];

        textField2.frame = CGRectMake(10, 200, 100, 50);

        [self.view addSubview:textField2];

        

        //strong

        textField1.text = string;

        NSString *name1 = textField1.text;

        

        NSLog(@"textField1 ---> %@",textField1.text);//textField1 ---> zhongguo

        NSLog(@"name1 ---> %@",name1);//name1 ---> zhongguo

        

        textField1.text = @"textField1 ---> 01";

        

        NSLog(@"textField1 ---> %@",textField1.text);//textField1 ---> textField1 ---> 01

        NSLog(@"name1 ---> %@",name1);//name1 ---> zhongguo

        

        name1 = @"name1 ---> 01";

        

        NSLog(@"textField1 ---> %@",textField1.text);//textField1 ---> textField1 ---> 01

        NSLog(@"name1 ---> %@",name1);//name1 ---> name1 ---> 01


        

        NSLog(@" ");

        

        //weak

        textField2.text = string;

        __weak NSString *name2 = textField2.text;

        

        NSLog(@"textField2 ---> %@",textField2.text);//textField2 ---> zhongguo

        NSLog(@"name2 ---> %@",name2);//name2 ---> (null)

        

        textField2.text = @"textField2 ---> 01";


        NSLog(@"textField2 ---> %@",textField2.text);//textField2 ---> textField2 ---> 01

        NSLog(@"name2 ---> %@",name2);//name2 ---> (null)

  • 相关阅读:
    ES6中的解构赋值
    一·京京得水
    localStorage,sessionStorage和cookie的区别
    mondodb和mysql的区别
    Win10 x64连接Oracle
    JFinal项目实践(了如股掌)7
    JFinal项目实践(了如股掌)6
    JFinal项目实践(了如股掌)5
    JFinal项目实践(了如股掌)4
    JFinal项目实践(了如股掌)3
  • 原文地址:https://www.cnblogs.com/NINIiOS/p/4897231.html
Copyright © 2020-2023  润新知