我需要在五分钟内将坐标发送到网络服务器。我是这样做的:
在-(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];
}
当计时器调用函数发送数据时,应用程序崩溃。
任何人,请帮助我?
答案 0 :(得分:1)
根据您提供给我们的代码,问题的唯一地方是myValue
的序列化。既然我们不知道那个对象是什么,除了提出广泛的建议之外我们做不了什么。 myValue
需要是一个字符串,经过编码,以便作为表单值提交是安全的。 URL编码,XML甚至JSON都可以使用。 RestKit和ObjectiveResource都有很好的序列化器实现,你可以基于它们。
要实现的重要一点是,除非在对象和ASI *周围构建一些管道以使其格式化HTTP对象,否则不能将任意对象添加到ASIFormDataRequest的post值。