2

iOSの場合:

ファイルを解凍し、一意のパス名を取得し、他のビューでこのパスを使用し、ビューがアンロードされたらキャッチファイルを削除するというこの問題全体を修正するにはどうすればよいですか?

4

2 に答える 2

0

mkdtmp(で宣言されている)を使用して一意の一時ディレクトリを作成し、unistd.hそのディレクトリに展開します。

次に、より具体的な場所が必要な場合は、安全に移動します(たとえば、既存のファイル/ディレクトリを置き換えないことが保証されている方法で)。-[NSFileManager replaceItemAtURL:withItemAtURL:backupItemName:options:resultingItemURL:error:]Foundation APIを好む場合は、移動できるようです。

于 2012-11-12T03:07:59.297 に答える
0

タイムスタンプを使用して、NSUserDefaultsに保存することをお勧めします。

AppDelegateのapplicationWillTerminateメソッドで、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];
    }
}
于 2012-11-12T03:10:04.840 に答える