如何调用 Web Service json 目标 C iOS 来调用函数

Posted

技术标签:

【中文标题】如何调用 Web Service json 目标 C iOS 来调用函数【英文标题】:How to call WebService json objectiveC iOS for calling function 【发布时间】:2016-02-23 12:48:25 【问题描述】:
NSString *urlString = [NSString 

    stringWithFormat:@"http://192.168.1.15/abc/service.asmx?op=GetCenter"];

        NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

        NSData *data = [[NSData alloc] initWithContentsOfURL:url];

        NSError *error;

        NSMutableArray *json =[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];



        NSLog(@"%@",[json description]);

我已经尝试过了,但它返回调用函数的空值。

Program ended with exit code: 9(lldb) 

如何识别是否调用了webserver或者如何调用该函数?

【问题讨论】:

应用程序是自动死机,还是您正在杀死它?返回给您的error 是什么? 退出代码表明您的应用程序已被杀死 @SmitSaraiya 您没有请求该网址的数据。你需要使用 NSURLRequest ***.com/questions/9966614/… 或者如果你想制作第三方 AFNetworking 库,那么 ***.com/questions/22851646/… 【参考方案1】:

如果您可以提供更多关于未调用函数的意思的信息,那将非常有帮助,当它崩溃时是否显示任何堆栈跟踪或其他信息?

我将通过单步调试调试器中的每一行代码来解决此问题,以确保您正在获取数据,然后按照建议从序列化函数中打印出错误。

也可能值得使用这些方法:

NSString* newStr = [NSString stringWithContentsOfURL:url encoding: NSUTF8StringEncoding error:&error];

NSString* newStr = [[NSString alloc] initWithData:theData encoding:NSUTF8StringEncoding];

下载后从 URL 或数据中获取字符串,然后打印或查看内容。

从长远来看,您可能需要考虑使用 AFNetworking 之类的东西来进行网络调用,因为您所拥有的是同步的,理想情况下,您应该异步进行所有网络调用。

【讨论】:

您建议的第一种方法可行,但我无法调用 Web 服务的特定功能,我可以成功调用 Web 服务但不能成功调用它的功能。 我只是想调用包含简单选择语句的函数,意味着没有参数传递,但我不能。

以上是关于如何调用 Web Service json 目标 C iOS 来调用函数的主要内容,如果未能解决你的问题,请参考以下文章

调用 Web Service 时如何查看数据?

在Node.js应用中调用CICS JSON web service

如何调用web service接口的某个方法

如何使用ABSL代码调用Web service

如何使用ABSL代码调用Web service

Web Service 问题点总结