繁体   English   中英

Objective-C每月调用一次方法

[英]Objective-C call a method once a month

我有一个方法需要在一个月内用户首次运行应用程序(从后台启动或返回应用程序)时调用? 做这个的最好方式是什么 ? (这是一个iOs应用程序).​​..我猜这是在委托中需要调用的

使用NSUserDefaults存储最后一次调用该方法的时间,并将其与当前日期进行比较,如果是该月的第一次(或没有存储的值,即第一次),则调用该方法。 通话成功后,更新节省的时间。

最好的方法是保存调用该方法时的日期和时间,然后每次启动应用程序时都要检查一下当前日期,并保存一次以查看它们是否相隔至少一个月。 然后,您将保存当前日期,如果是,则再次运行该方法。 您是正确的,您希望在应用程序委托中执行此操作。 在应用程序上确实完成了带有选项的启动后,您可以在首次启动时执行以下操作:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"Last_run_method_date"]) {
    //get new date using [NSDate date] and compare with the date saved in
    //[defaults objectForKey:@"Last_run_method_date"]  If they are more than a month apart
    //[self methodToRun];
} else {
    [defaults setBbject:[NSDate date] forKey:@"Last_run_method_date"];
}

在每月运行一次的方法中,您需要通过在方法内部执行以下操作来刷新运行日期:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setBbject:[NSDate date] forKey:@"Last_run_method_date"];

抱歉,如果代码不是100%正确,我正在电脑上打字。

我会为此安排一个本地通知! 就像cron for ios:D

使用UILocalNotification

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM