2017-07-05 43 views
2

想要在10天后開始活動,假設我有一個到期日期以顯示保存在我的應用程序文件夾中的圖像。我正在節省資產的下載時間,我想在下載時間後的10天內檢查該時間。如果該資產應該從應用程序文件夾中自動移除10天。想要在10天后發起活動

我知道一些我們有這樣的選擇:

1 GCD:

int parameter1 = 12; 
float parameter2 = 144.1; 

// Delay execution of my block for 10 seconds. 
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 10 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{ 
    NSLog(@"parameter1: %d parameter2: %f", parameter1, parameter2); 
}); 

2.本地通知/ EventKit:

注意:它不應該拋出任何警報,它應該從app文件夾中刪除後臺資源。

有什麼辦法可以用持續時間來觸發該方法。

+0

在這段時間內每10秒鐘執行一次可能會非常昂貴。您是否希望在下載後的10天內即864000秒之後將其解鎖,或者是否足以在某一天的某天結束時將其過期? – Gihan

+0

這是10天,假設有10個資產下載並保存到本地文件夾中,每次需要檢查10個資產並從緩存文件夾中刪除。 –

+0

我認爲只有當應用程序從暫停模式(didBecomeActive通知) –

回答

1

我保留文件在設備上的添加日期爲NSUserDefaults

然後,當AppDelegate的application(_, didFinishLaunchingWithOptions:)會觸發,我會檢查是否從最後一次清除已經過去了10天。如果真的,我會再次清除,如果錯誤,我什麼都不會做。