ios - 提交表单时未使用表达式结果

标签 ios objective-c json http 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];

我得到的警告是

Expression result unused

此外,我希望通过我的 JSON 获得结果,因此当出现错误时它会显示它(后端部分已完成,只是在 iOS 上显示它的问题)。我什至不确定它是否正在提交

最佳答案

您在定义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 委托(delegate)方法。参见 this tutorial获取一些有用的信息。

关于ios - 提交表单时未使用表达式结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26310520/

相关文章:

iOS:帮助模糊主视图顶部的屏幕

objective-c - NSMenuItem、自定义 View 和 mouseUp 的奇怪问题 :

javascript - Express.js - 使用嵌套请求从备份 URL 获取 JSON

java - 使用 Java 或 JSON 进行拆分

iphone - 检测应用程序是否在开发模式下运行

ios - 启用分页功能的 ScrollView 从左到右滚动 - iOS

ios - 在自定义 UIVIew 中访问属性

ios - 在一组异步 Web 服务调用后使用信号量 token 运行代码时出错

ios - Apple Watch 场景背景卷轴

java - 如何将 2 个 json 合并为一个来解析 JSON