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)
如何识别是否调用了webserive或如何调用该函数?
答案 0 :(得分:1)
如果您可以提供更多关于函数未被调用的信息,那将非常有用,是否有任何堆栈跟踪或其他信息在崩溃时显示?
我会通过逐步调试调试器中的每行代码来确保您获取数据然后按照建议从序列化函数中打印出错误来解决这个问题。
使用这些方法也许值得:
NSString* newStr = [NSString stringWithContentsOfURL:url encoding: NSUTF8StringEncoding error:&error];
或
NSString* newStr = [[NSString alloc] initWithData:theData encoding:NSUTF8StringEncoding];
从URL或数据中获取字符串,然后打印出来或查看内容。
从长远来看,您可能需要考虑使用AFNetworking之类的东西进行网络呼叫,因为您拥有的是同步的,理想情况下,您应该异步进行所有网络连接。