当应用本地数据库不断存入数据,数据库体积不断增大,这种情况下,我们一般需要清除旧数据.可以手动清除,也可以自动清除。更多的时候我们会选择自动清除,不为别的,就为了装下B。
这里列出一些常用的定时清除数据的做法:
方法一:在应用启动的时候- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(nullable NSDictionary *)launchOptions;查看当前是否存在上次清除数据的时间点,如果不存在的话,表明以前没有清除过数据,这时候就把当前时间点作为value保存起来,如果是存在上次清除的时间点的话,则判断现在的时间点与上次清除的时间点之间的间隔是否大于自己设定的清除时间间隔。若大于,则执行数据库删除操作,并把当前时间代替上次的清除时间点。
demo代码
-(void)checkDBSituation{
NSUserDefaults userDefault = [NSUserDefaults standardUserDefaults];
NSDate time = [userDefault objectForKey:DBClearTime];
if (!time) {
[userDefault setObject:[NSDate date] forKey:DBClearTime];
[userDefault synchronize];
}
if ([[NSDate date] timeIntervalSinceDate:time] > DBClearDelta ) {
[kMgr deletePartOfDBData];
[userDefault setObject:[NSDate date] forKey:DBClearTime];
[userDefault synchronize];
}
}
待续...