每五分钟将坐标发送到一个URL POST

时间:2011-06-27 13:41:31

标签: iphone objective-c ios

我需要在五分钟内将坐标发送到网络服务器。我是这样做的:

-(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];
}

当计时器调用函数发送数据时,应用程序崩溃。

任何人,请帮助我?

1 个答案:

答案 0 :(得分:1)

根据您提供给我们的代码,问题的唯一地方是myValue的序列化。既然我们不知道那个对象是什么,除了提出广泛的建议之外我们做不了什么。 myValue需要是一个字符串,经过编码,以便作为表单值提交是安全的。 URL编码,XML甚至JSON都可以使用。 RestKitObjectiveResource都有很好的序列化器实现,你可以基于它们。

要实现的重要一点是,除非在对象和ASI *周围构建一些管道以使其格式化HTTP对象,否则不能将任意对象添加到ASIFormDataRequest的post值。