0

我想连接一个字符串和一个double(或者在这种情况下连接一个#defined 常量)。我想将CURRENT_LATITUDEandCURRENT_LONGITUDE值插入到NSURL我正在创建的URLWithString:

    #define CURRENT_LATITUDE 37.000000
    #define CURRENT_LONGITUDE -120.000000

    NSURL *jsonURL = [NSURL URLWithString:@"https://maps.googleapis.com/maps/api/place/search/json?location=" + CURRENT_LATITUDE + "," + CURRENT_LONGITUDE + "@f&radius=100&sensor=true&types=establishment&key=blahAPIkey123"];

我知道这些+标志不起作用,所以请帮助我了解如何执行此操作。在 Lua 中,您可以使用

.. CURRENT_LATITUDE ..

那么我应该在 Objective-C 中使用什么?

4

1 回答 1

4

使用 NSString 的stringWithFormat方法,它的工作原理与 printf 完全一样,它在第一个参数中查找格式说明符,然后每个说明符都有一个额外的参数。

NSString *urlString = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/search/json?location=%g,%g@f&radius=100&sensor=true&types=establishment&key=blahAPIkey123", CURRENT_LATITUDE, CURRENT_LONGITUDE];
NSURL *jsonURL = [NSURL URLWithString:urlString];
于 2012-07-09T02:02:32.737 回答