- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
NSURL *site_url = [NSURL URLWithString:[NSString stringWithFormat:@"%@/json/data/post?sid=%@", SECURE, PASSCODE]];
NSData *jsonData = [NSData dataWithContentsOfURL:site_url];
NSError *error = nil;
NSDictionary *dataDictionary = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
self.items = dataDictionary;
}
我正在尝试解析json数据。它可以很好地处理实时服务器中的数据。但是,当我将链接更改为
http://localhost:8090
时。它停止工作。Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'data parameter is nil'
我可以从Web浏览器中的数据访问它。有谁知道那是为什么?
最佳答案
它可以在模拟器上运行,而不是在真实设备上运行吗?
开发应用程序时,切勿使用本地主机,而应使用服务器的本地IP。 Localhost是向服务器发出 call 的计算机。当您尝试使用仿真器,并且服务器位于同一台计算机上时,由于它们是相同的,因此它可以工作。
但是,当您在真实设备上尝试使用localhost时,该设备没有安装服务器,因此它将失败。
顺便说一句,要在真实设备上进行测试,必须将其连接到同一网络。