我想知道在iPhone应用程序中增加资源的最佳做法是什么(无论它是在前台运行还是在后台冻结/运行)我想要完成的壮举基本上是每15个增加一些硬币。分钟,无论应用程序是在前台还是后台。
答案 0 :(得分:4)
当您的应用程序运行时,您可以使用NSTimer
来实现此目的。但是,当你的应用程序在后台时,计时器将不会触发。
使用AppDelegate的applicationDidEnterBackground
和applicationWillEnterForeground
方法检测应用进入/退出背景状态的时间 - 根据当前时间增加硬币数量。
答案 1 :(得分:1)
您可以通过查找第一次和最后一次启动之间的时差(根据您的要求)然后根据时差递增硬币来实现此目的 找到两个日期之间的时间间隔
NSTimeInterval noOfSeconds = [date timeIntervalSinceDate:date2];
//找到两个日期之间的差异
noOfSeconds/900//this will give the number of 15 minutes elapsed
答案 2 :(得分:1)
这取决于您要做的事情,但可能您不需要在后台执行此操作。只需存储时间戳,用户最后一次检查硬币数量,并通过一些数学计算,在下次检查时计算当前硬币。
答案 3 :(得分:1)
你可以这样做:
NSTimer *timer;
timer= [NSTimer timerWithTimeInterval:15*60 //seconds
target:self
selector:@selector(yourMethod)
userInfo:nil
repeats:YES];
这是每15分钟调用yourMethod
,你可以在那里做你的东西。
除此之外,请参阅: