2012-07-09 3 views
0

문자열과 double (또는이 경우에는 #define d 상수를 연결)을 연결하고 싶습니다. 내가 그렇게 나에게이 작업을 수행하는 방법을 이해하는 데 도움 주시기 바랍니다, 나는 + 징후가 작동하지 않습니다 알고 URLWithString:NSString 및 int 연결

#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"]; 

와 내가 만드는있어 NSURLCURRENT_LATITUDECURRENT_LONGITUDE 값을 삽입 할. 당신이 사용할 수있는 루아

.. CURRENT_LATITUDE .. 

그래서 Objective-C에서 무엇을 사용해야합니까?

+0

가능한 중복 [내가 INT와 문자열 값을? 연결하여 어떻게 (http://stackoverflow.com/questions/5884367/how-do-i-concatenate-int-and-string-value) –

답변

4

NSString의 stringWithFormat 메서드는 printf와 똑같이 작동하며 첫 번째 인수에서 형식 지정자를 찾은 다음 지정자 당 하나의 추가 인수를 찾습니다.

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

% g는 Objective-C에서 항상 사용할 수있는 C 언어 기능에서 가져온 것입니다. @f는 당신 것입니다. 그것들은 유명한 printf와 비슷한 함수 들인데, 이는 문자열과 몇몇 변수들을 결합하고, 그것들과 같은 플래그를 사용하여 변수들에서 기대할 것을 지정합니다. % g는 파서가 double을 예상하도록 지정합니다. 각 지정자는 문자열 다음에 해당 유형의 추가 인수와 쌍을 이룹니다. 예 :'double pi = 3.14'; [NSString stringWithFormat : @ "pi는 % g", pi];' "pi is 3.14"로 문자열을 만듭니다. –