如何在iPhone中从后台调用JSON Web服务

时间:2011-07-12 13:46:50

标签: iphone

我需要知道是否可以从后台调用json webservices,当用户按下主页按钮时,我从后台执行调用此方法

- (void) runTimer 
{
    [NSThread detachNewThreadSelector:@selector(updateAllVisibleElements)toTarget:self withObject:nil]; 
}

- (void) updateAllVisibleElements  {

    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    if(service == nil)
    {
        service = [[WebService alloc] init];
    }
    [service getlocationID:currentLatitude andlongitude:currentLongitute];
    [pool release];
}

并且在调用函数[service getlocation id]但是之后它没有显示任何响应或数据接收并且app终止,plz帮助我

2 个答案:

答案 0 :(得分:2)

如果您希望在应用程序转到后台后立即发生,您可以使用-[UIApplication beginBackgroundTaskWithExpirationHandler:]。只要任务不需要太长时间,这应该有效。

答案 1 :(得分:0)

if(service == nil)
{
    service = [[WebService alloc] init];
}
[service getlocationID:currentLatitude andlongitude:currentLongitute];

请注意,在拨打电话之前,你永远不会测试service是一个好的值(不是零)