我需要每五分钟向网络服务器发送一次坐标。我这样做:
在 -(void) mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
我有变量(在 .h 文件中声明)接收我想发送的信息发布。
我有一个 NSTimer 调用一个方法来启动这个:
{
ASIFormDataRequest * request = [ASIFormDataRequest requestWithURL:myURL];
[request setDelegate:self];
[request setPostValue:myValue forKey:@"myKey"];
[request addRequestHeader:@"Content-Type" value:[NSString stringWithFormat:@"application/x-www-form-urlencoded; charset=%@", @"UTF-8"]];
[request startAsynchronous];
}
当计时器调用函数发送数据时,应用程序崩溃。
谁能帮帮我?
最佳答案
根据您提供给我们的代码,唯一可能出问题的地方是 myValue
的序列化。由于我们不知道该对象是什么,因此除了提出广泛的建议外,我们无能为力。 myValue
需要是一个字符串,经过编码后可以安全地作为表单值提交。 URL 编码、XML 甚至 JSON 都可以。 RestKit和 ObjectiveResource两者都有很好的序列化器实现,您可以以此为基础。
要认识到的重要一点是,您不能将任意对象添加到 ASIFormDataRequest 的 post 值,除非您已经围绕您的对象和 ASI* 构建了一些管道以使其针对 HTTP 格式化您的对象。
关于iphone - 每五分钟将坐标发送到 URL POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6493774/