我目前正在使用以下代码尝试NSMutableURLRequest。
NSMutableURLRequest *postRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:allStrings]];
[postRequest setHTTPMethod:@"POST"];
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:postRequest delegate:self];
我不知道如何实际发起帖子。什么实际上在URL处激活它?我有一切设置,但* conn尚未使用,所以我如何使用* conn?
答案 0 :(得分:1)
创建NSURLConnection
将触发连接。
现在你必须实现回调,尤其是。 connectionDidFinishLoading
获得结果。
以下是NSURLConnectionDataDelegate的方法。来自NSURLConnection
initWithRequest:delegate:
文档:
<强>讨论强>
这相当于调用initWithRequest:delegate:startImmediately:并为startImmediately传递YES。
答案 1 :(得分:0)
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
答案 2 :(得分:0)
您可以通过多种方式启动NSURLConnection
。
[NSURLConnection initWithRequest:postRequest delegate:self];
返回初始化的URL连接并开始为其加载数据 网址请求。
所以有一个未使用的变量你可以手动启动它是很奇怪的:
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:postRequest delegate:self startImmediatly:NO];
[conn start];
或者没有得到结果
[[NSURLConnection alloc] initWithRequest:postRequest delegate:self];
甚至更好地保留NSURLConnection,将其存储在属性中:
self.URLConnection = [[NSURLConnection alloc] initWithRequest:postRequest delegate:self];
注意现在有两种方便的助手方法:
[NSURLConnection sendSynchronousRequest:returningResponse:error:];
返回NSData
或
[NSURLConnection sendAsynchronousRequest:queue:completionHandler:];
您可以直接使用阻止作为回调。