程序员必知:一个不小心犯的指针错误

简介: 程序员必知:一个不小心犯的指针错误

尝试达到下面的效果:

输入框输入字符,单击按钮改变label框的值:

ViewController.h

//代码效果参考:http://www.zidongmutanji.com/bxxx/431090.html

1 #import

2

3 @interface ViewController : UIViewController

4

5 @property (nonatomic,assign) IBOutlet UITextField input1;

6 @property (nonatomic,assign) IBOutlet UILabel output1;

7

8

9 - (IBAction)click1;

10 @end

ViewController.m

1 #import "ViewController.h"

2

3 @interface ViewController ()

4

5 @end

6

7 @implementation //代码效果参考:http://www.zidongmutanji.com/zsjx/573773.html

ViewController

8

9 - (void)viewDidLoad {

10 【super viewDidLoad】;

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

12 }

13

14 - (void)didReceiveMemoryWarning {

15 【super didReceiveMemoryWarning】;

16 // Dispose of any resources that can be recreated.

17 }

18 - (void)click1{

19 // NSString input1 = _input1.text;

20 // NSString output1 = _//代码效果参考:http://www.zidongmutanji.com/zsjx/295237.html

output1.text;

21 // output1 = input1;

22 NSString input1 = _input1.text;

23 _output1.text = input1;

24 NSString output1 = _output1.text;

25

26

27 NSLog(@"test:%@,%@",input1,output1);

28

29

30 }

31

32 @end

click1方法里面我一开始是写的注释掉的3行,运行后正常打印,但是label的text值并未改变。原因是"output1 = input1"只是改变了output1指向 而已,使output1这个指向了input1所指向的地址,而_output1的set方法并不会被调用。好吧,我也不知道为什么开始会那样写orz.

相关文章
|
3月前
|
算法 程序员 索引
【Leetcode 程序员面试金典 02.08】 —— 环路检测 |双指针
我们可以使用双指针解决本题,由数学推导可知:a 的距离为(环长度的倍数 - b),即 tmp 指针从头节点走到环开头节点等于 slow 指针走到环开头节点的距离
|
3月前
|
算法 程序员
「程序员必须掌握的算法」双指针「上篇」
「程序员必须掌握的算法」双指针「上篇」
|
11月前
|
存储 关系型数据库 MySQL
被误解的tinyint(1)
被误解的tinyint(1)
被误解的tinyint(1)
|
11月前
|
算法 程序员
「程序员必须掌握的算法」双指针「上篇」
「程序员必须掌握的算法」双指针「上篇」
|
程序员 C++
程序员之路:C++常量指针和指针常量
程序员之路:C++常量指针和指针常量
|
2月前
|
C语言
指针进阶(C语言终)
指针进阶(C语言终)
|
6天前
|
C语言
【C初阶——指针5】鹏哥C语言系列文章,基本语法知识全面讲解——指针(5)
【C初阶——指针5】鹏哥C语言系列文章,基本语法知识全面讲解——指针(5)
|
6天前
|
C语言
【C初阶——指针4】鹏哥C语言系列文章,基本语法知识全面讲解——指针(4)
【C初阶——指针4】鹏哥C语言系列文章,基本语法知识全面讲解——指针(4)
|
6天前
|
存储 编译器 C语言
【C初阶——指针3】鹏哥C语言系列文章,基本语法知识全面讲解——指针(3)
【C初阶——指针3】鹏哥C语言系列文章,基本语法知识全面讲解——指针(3)
|
1月前
|
编译器 C语言
【C语言初阶】指针篇—下
【C语言初阶】指针篇—下