CLLocationCoordinate2D 用法 和一个最隐蔽的错误

参考:http://www.2cto.com/kf/201207/138950.html        写的比较实在,可以看看

初始化方法1:

	CLLocationCoordinate2D startPt = (CLLocationCoordinate2D){0, 0};    //纬度,经度
	CLLocationCoordinate2D endPt = (CLLocationCoordinate2D){0, 0};

 初始化方法2:

CLLocationCoordinate2D coords = CLLocationCoordinate2DMake(39.915352,116.397105);//纬度,经度

 

====教训====  

A 代码段

        NSLog(@"驾车路线终点坐标====%f,%f",[_endCoordainateXText floatValue],[_endCoordainateYText floatValue]);
	endPt = (CLLocationCoordinate2D){[[_endCoordainateXText floatValue],_endCoordainateYText floatValue]};

 B 代码段

        NSLog(@"驾车路线终点坐标====%f,%f",[_endCoordainateXText floatValue],[_endCoordainateYText floatValue]);
        endPt = (CLLocationCoordinate2D){[_endCoordainateXText floatValue],[_endCoordainateYText floatValue]};

请找出A 、 B 两段代码的不同!

 

 

 

答案揭晓:A 段代码 第二行中_endCoordainateYText floatValue]的前半个括号位置不对!B段代码才是正确书写。

A段代码在程序运行中,并不会报错或者警告。为了找到这个错误,牺牲掉了我一整夜的睡眠!!终于搁置到第3天的时候才发现!

上面最要命的是,NSLog 中的代码写对了,但实际代码中确实错的。这让我面临,程序既没有报错,控制台输出也正确的尴尬境地!错的太隐蔽!

 

posted @ 2013-05-22 23:13  ygm900  阅读(23845)  评论(0编辑  收藏  举报