2011-05-04 35 views
0

当我输入[lat1 = newLocation.coordinate.latitude];它的预测:在之前]这样的标记。我的错是什么?因为我是这个领域的新手,请ayone指导我。表示法问题

由于在此前....

+0

你想将'newLocation.coordinate.latitude'赋值给'lat1',还是比较两者? – zoul

回答

0

请尝试以下..

从您的线路括号[]它必须是

lat1 = newLocation.coordinate.latitude; 
+0

非常感谢阿曼... – adhees

1

如果你想比较lat1newLocation.coordinate.latitude,正确的说法是:

if (lat1 == newLocation.coordinate.latitude) { 
    // do something here 
} 

如果你正在尝试的newLocation.coordinate.latitude值分配到lat1,正确的说法是:

lat1 = newLocation.coordinate.latitude; 

如果你正在尝试做的第一件事就是比较变量是浮点数,那么你可能要检查他们是亲密的足够代替平等:

if (fabs(lat1 - newLocation.coordinate.latitude) < someLittleDistance) { 
    // close enough 
} 

...其中当然,你必须定义someLittleDistance

+0

祝你好运。这些是您比较相等性的双精度浮点数。检查它们之间的差异是否小于一些小数字会更好。 – JeremyP

+0

非常感谢Zoul .... – adhees

0

当xCode的行为像这样,它可能想说某事是方法,或者它认为像一种方法。像往常一样,Objective-C中的点符号是一些类似setter的。例如

ObjectA.property1 = value;

相当于

[对象A setProperty1:值]的;

而在最后一种情况下,xCode希望看到:在setter调用之后和列后的值。