我从GPS获取坐标,需要构建一个如下所示的小字符串:
NSString *location = @"40.7,-73.9";
我的代码现在是
NSString *latitude = [NSString stringWithFormat:@"%f", [LocationFinder
singleton].location.coordinate.latitude];
NSString *longtitude = [NSString stringWithFormat:@"%f", [LocationFinder
singleton].location.coordinate.latitude];
// Of course this doesn;t work
NSString *location = latitude, logtitude;
现在我知道我可以做NSMutablestring并追加,但我只是想问一下这个过程是否非常有效。来自.NET和Java我讨厌Obj C这个奇怪的东西。
答案 0 :(得分:4)
这里最简单的答案可能是最好的,即将+stringWithFormat:
与实际的多部分格式字符串一起使用,而不是像你在那里那样单独使用:
Coordinate *coord = [LocationFinder singleton].location.coordinate; // or whatever the type here is
NSString *location = [NSString stringWithFormat:@"%f,%f", coord.latitude, coord.longitude];
但总的来说,这里的问题是无意义的微优化的一个很好的例子。
答案 1 :(得分:1)
为什么不呢?
NSString *location = [NSString stringWithFormat:@"%f,%f", [LocationFinder
singleton].location.coordinate.latitude, [LocationFinder
singleton].location.coordinate.longitude]
答案 2 :(得分:0)
您正在为经度值加载latitude
。
要获得这样的结果:@"40.7,-73.9"
将需要设置float
的格式化小数位数。
NSString *location = [NSString stringWithFormat:@"%.01f,%.01f",
[LocationFinder singleton].location.coordinate.latitude,
[LocationFinder singleton].location.coordinate.longitude];