當應用本地數據庫不斷存入數據,數據庫體積不斷增大,這種情況下,我們一般需要清除舊數據.可以手動清除,也可以自動清除。更多的時候我們會選擇自動清除,不為別的,就為了裝下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];
}
}
待續...