我想创建自定义视图,在一段时间后调用webservice并自行更新。即使应用程序未处于活动状态,数据也应该更新..那么这样做的最佳方法是什么?
答案 0 :(得分:1)
使用NSTimer
,但应用程序处于后台模式时数据不会更新。应用程序激活后,NSTimer
将继续有效。
答案 1 :(得分:0)
您可以使用NSTimer
。在自定义方法中添加代码并调用该方法,如下所示..
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:3.0f target:self selector:@selector(yourMethodName:) userInfo:nil repeats:YES];
在scheduledTimerWithTimeInterval
参数中,您可以设置以秒为单位的时间,以便每隔3秒钟调用传入selector
参数的方法。
查看NSTimer
的一个示例和教程,从此链接nstimer-tutorial-creating-clockstopwatchtimer-iphoneipad
<强>更新强>
如果您想调用webservice,那么您可以使用NSThread
,如下所示...
- (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];
}
请参阅链接Here
答案 2 :(得分:0)
您可以跟踪该位置,但当应用在后台时,您将无法连接到您的网络服务。