2012-10-09 17 views
0

我試圖將兩個值轉換爲字符串,然後創建一個包含我之前創建的字符串的新字符串,以便我的服務可以接受它們。將兩個double值轉換爲String,然後使用新字符串創建一個字符串

NSString *string1 = [ NSString stringWithFormat:@"%f", locationController.dblLatitude]; 
NSString *string2 = [ NSString stringWithFormat:@"%f", locationController.dblLongitude]; 



body = [[NSString stringWithFormat:@"geoX#%@#geoY#%@", string1, string2] dataUsingEncoding:NSUTF8StringEncoding]; 

這是我使用atm的代碼。問題是,string1和string2似乎都沒問題,但名爲body的字符串似乎不起作用..:<有什麼幫助嗎?

+0

您可以給出一個輸出示例,例如你在string1,string2和body中有什麼值? – tomasmcguinness

+0

我有座標,我從updatelocation方法獲得。例如37.785834。我得到其中兩個我想要以這種格式的字符串加入他們geoX#string1#geoY#string2所以我的休息服務可以接受他們。 –

回答

1

body是不是在這裏的NSString實例,但NSData(因爲使用了`dataUsingEncoding:」 如果你想看到在系統蜇傷的串聯日誌你應該寫這樣的事情:

NSString* bodyString = [NSString stringWithFormat:@"geoX#%@#geoY#%@", string1, string2]; 
NSData* bodyData = [bodyString dataUsingEncoding:NSUTF8StringEncoding]; 

,然後你可以NSLog(@"Body: %@", bodyString);看到它的內容,然後用bodyData製作HTTP請求

+0

真的非常感謝大家。 Idd的身體是NSData,而不是NSString,雖然我把它放在眼前,但我真的很困惑。現在這很好,謝謝! –

1

body不是NSString;它是一個NSData因爲您的來電dataUsingEncoding

1

我相信會發生這種情況,因爲您只是記錄原始數據。嘗試從數據創建一個字符串,然後按如下方式記錄:

body = [[NSString stringWithFormat:@"geoX#%@#geoY#%@", string1, string2] dataUsingEncoding:NSUTF8StringEncoding]; 
NSString *string = [[NSString alloc] initWithData:body encoding:NSUTF8StringEncoding]; 
NSLog(@"%@",string); 
相關問題