2012-10-01 25 views
0

我提供了GET請求。在API字符串內部,我應該放入一些數據,我在運行應用程序後會得到 ,所以我需要將整個字符串分成兩部分,並將結果放在resultText之間。所以我用startQuery和endQuery做了。但我有一個失敗,而建立這個應用程序。希望有人有一個想法。下面是一些截圖: Failure XCode description將請求鏈接劃分爲兩部分

- (void)makeRequest 
{ 
    if (_responseData == nil) 
    { 
     _responseData = [NSMutableData new]; 
    } 

    NSString* startQuery = [NSString stringWithString:@"https://www.wikifood.eu/wikifood/en/struts/xxxxxxxx.do?method=getProductOverview&query="]; 
    NSString* endQuery = [NSString stringWithString:@"&startAt=0&limit=5&filter=true&loginname=xxxxxx&password=6f052cxxx15a4c2813baf3x75xx51dead1f4fe2"]; 

    NSURL *url = [NSURL URLWithString:[[NSString stringWithFormat:@"%@%@%@", startQuery, resultText.text, endQuery] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]]; 

    NSURLRequest* request = [NSURLRequest requestWithURL:url]; 
    _urlConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 
} 

感謝。

回答

1

您看到的兩個警告是因爲當您只使用文字字符串時,您正在使用NSString stringWithString

替換:

NSString* startQuery = [NSString stringWithString:@"https://www.wikifood.eu/wikifood/en/struts/xxxxxxxx.do?method=getProductOverview&query="]; 
NSString* endQuery = [NSString stringWithString:@"&startAt=0&limit=5&filter=true&loginname=xxxxxx&password=6f052cxxx15a4c2813baf3x75xx51dead1f4fe2"]; 

有了:

NSString* startQuery = @"https://www.wikifood.eu/wikifood/en/struts/xxxxxxxx.do?method=getProductOverview&query="; 
NSString* endQuery = @"&startAt=0&limit=5&filter=true&loginname=xxxxxx&password=6f052cxxx15a4c2813baf3x75xx51dead1f4fe2"; 
+0

非常感謝,這是原因。現在它可以工作。 –

0

不知道,但你添加%的逃生: stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding

但你這樣做對整個串......我想你的意思是:

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@%@", startQuery, [resultText.text stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding], endQuery]]; 

你」重新URL並不需要進行轉義,你知道,這是確定的,只是你的「不安全」的文本

還是那句話:不知道,我還沒有打開的XCode嘗試^^

+0

謝謝,我會嘗試一下。 –