2012-11-12 26 views

回答

0

我會建議你使用時間戳,將它存儲在NSUserDefaults中。

在applicationWillTerminate AppDelegate方法中,檢查NSUserDefaults是否有您設置的密鑰(如果有),然後刪除該文件並刪除該密鑰。

- (void)applicationWillTerminate:(UIApplication *)application 
{ 
    if([[NSUserDefaults standardUserDefaults] objectForKey:@"KEY_FOR_PATH"] != nil) 
    { 
     [[NSFileManager defaultManager] removeItemAtPath:[[NSUserDefaults standardUserDefaults] objectForKey:@"KEY_FOR_PATH"] error:nil]; 
     [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"KEY_FOR_PATH"]; 
     [[NSUserDefaults standardUserDefaults] synchronize]; 
    } 
} 
+0

對於大多數應用程序,「applicationWillTerminate:」永遠不會被調用。這不是放置大量代碼的好地方。 – rmaddy

+0

因此,也許檢查應用程序上是否有文件:didFinishLaunchingWithOptions,我認爲這不是最好的主意,但會起作用!或者放在viewcontroller的dealloc上。 – jpros

0

使用mkdtmp(在unistd.h中聲明)創建一個唯一的臨時目錄,然後展開到該目錄。

然後,如果您需要它在某個更具體的位置,請安全地移動(例如,以確保不會替換現有文件/目錄的方式)。如果你更喜歡基金會的API,-[NSFileManager replaceItemAtURL:withItemAtURL:backupItemName:options:resultingItemURL:error:]似乎有能力採取行動。

相關問題