最近我一直试图在服务器上调用* .php文件并收集响应。我正在尝试在xcode中执行此操作来制作ios应用程序。我试图用:
来做NSURLConnection *conn = [[NSURLConnection alloc] init];
(void)[conn initWithRequest:request delegate:self];
但是当我这样做时程序崩溃并且它表示抛出异常。所以我想知道如何轻松调用Web服务器并获得响应。我对ios开发很新,所以你不知道我什么都知道;)。
我一直在浏览很多教程,但我似乎无法完成一项工作。
答案 0 :(得分:1)
有几种方法可以在目标C中调用Web服务。您可以使用ASHIHTTPrequest一个好的文档Here.此外我假设您还没找到{ {3}}至今。
此外,如果您严格要使用This tutorial。这可以是你的方式。这是一个简单登录api的示例,其中用户ID和密码的值作为请求的标题值发送。
NSMutableURLRequest *theRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:kWebServiceURL]];
[theRequest setValue:kWSReqH_GBLRequestMethodName forHTTPHeaderField:kWSHFunctionName];
[theRequest setValue:userId forHTTPHeaderField:kWSReqH_GBLUserId];
[theRequest setValue:@"application/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
//calling for request
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
答案 1 :(得分:1)
所以我可能会问这个问题是错的,但这正是我想要的:
https://www.youtube.com/watch?v=FXQiEfjiYns
这是SimpleSDK的视频。我测试了我的* .php文件的代码,它运行得很好。
答案 2 :(得分:0)
发送请求后,您无法立即释放conn对象。因此,在类中将其设置为静态或成员变量。像这样......
@property (nonatomic, strong) NSURLConnection *connection;
...
@synthesize connection;
...
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"<url>"]];
self.connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[self.connection start];
然后实现委托方法,如- (void)connectionDidFinishLoading:(NSURLConnection *)connection
和其他必需的方法。
你能试试吗?
答案 3 :(得分:0)
您遇到错误,因为您必须正确实现NSURLConnection并实现它的委托方法。
通过这些链接,您将了解如何声明和构建它:
NSURLConnection delegate method http://yuvarajmanickam.wordpress.com/2012/10/17/nsurlconnection-basics-for-ios-beginners/
示例: http://cagt.bu.edu/w/images/8/8b/URL_Connection_example.txt