从URL获取NSData在模拟器中工作,但不在设备上工作

时间:2012-07-18 06:08:06

标签: ios ios-simulator nsdata nsurl

我实现了一个向服务器发送注释的方法:

-(IBAction)inserttotextfied:(id)sender{

    NSString *strurl=[NSString stringWithFormat:@"http://localhost/get-data/insert.php?Name=%@&message=%@",txtf.text,txt2.text];
    NSData *dataurl=[NSData dataWithContentsOfURL:[NSURL URLWithString:strurl]];
    NSString *stresult=[[[NSString alloc]initWithData:dataurl encoding:NSUTF8StringEncoding]autorelease];
    NSLog(@"%a",stresult);
}

问题是当我通过模拟器测试时正在发送,但是当我在设备中测试它时数据没有被保存

3 个答案:

答案 0 :(得分:0)

您可能不希望在设备上向localhost发送内容,或者您​​是否在设备版本中使用其他网址?

答案 1 :(得分:0)

模拟器的响应速度更快。所以url返回数据并正确打印。但在设备上,响应时间比模拟器高。您的NSLog(@“%a”,stresult);语句在从响应中获取任何数据之前正在执行。我建议给予一些延迟或使用委托,以便在收到回复后使用数据。

答案 2 :(得分:0)

格式说明符%a64-bit floating-point number (double), printed in scientific notation with a leading 0x and one hexadecimal digit before the decimal point using a lowercase p to introduce the exponent.

如果这不是您的意图,请尝试:

NSLog(@"%@", stresult);