2014-10-11 108 views
0

我知道這已經被問過,但沒有答案解決了我的問題。下面是我用來發送POST請求提交表單時未使用表達式結果

NSString *nameField = _name.text; 
NSString *emailField = _email.text; 
NSString *usernameField = _username.text; 
NSString *passwordField = _password.text; 

NSURL *url = [NSURL URLWithString:@"http://localhost/api/register"]; 
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0]; 

NSData *requestData = [@"name=%@&email=%@&username=%@&password=%@",nameField, emailField, usernameField, passwordField dataUsingEncoding:NSUTF8StringEncoding]; 

[request setHTTPMethod:@"POST"]; 
[request setValue:@"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" forHTTPHeaderField:@"Accept"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
[request setValue:[NSString stringWithFormat:@"%d", [requestData length]] forHTTPHeaderField:@"Content-Length"]; 
[request setHTTPBody: requestData]; 

[[NSURLConnection alloc] initWithRequest:request delegate:self]; 

此行專門給我的問題

NSData *requestData = [@"name=%@&email=%@&username=%@&password=%@",nameField, emailField, usernameField, passwordField dataUsingEncoding:NSUTF8StringEncoding]; 

我得到它的警告代碼

表達結果未使用

另外我希望得到一個結果與我的JSON,所以當有b e會顯示錯誤(後端部分完成,只是在iOS上顯示它的問題)。我甚至不確定它是否提交

回答

1

當定義requestData時,您忘記使用+stringWithFormat:。將該行更改爲:

NSData *requestData = [[NSString stringWithFormat:@"name=%@&email=%@&username=%@&password=%@", nameField, emailField, usernameField, passwordField] dataUsingEncoding:NSUTF8StringEncoding]; 

此外,您可能會在最後一行顯示相同的警告。您可以通過將其分配到的東西擺脫它:

NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 

您可能還需要實現一些NSURLConnection委託方法。請參閱this tutorial獲取一些有用的信息。