8

iCloudでUIDocumentを使用しています。CoreDataを使用していません。UIDocumentを削除する最良の方法は何ですか?

4

5 に答える 5

16

Document-Based App Programming Guide for iOSの「Deleting a Document」セクションからコピー。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) {
    NSFileCoordinator* fileCoordinator = [[NSFileCoordinator alloc] initWithFilePresenter:nil];
    [fileCoordinator coordinateWritingItemAtURL:fileURL options:NSFileCoordinatorWritingForDeleting
        error:nil byAccessor:^(NSURL* writingURL) {
        NSFileManager* fileManager = [[NSFileManager alloc] init];
        [fileManager removeItemAtURL:writingURL error:nil];
    }];
});

NB: 「ストレージからドキュメントを削除するとき、コードは UIDocument が読み取りおよび書き込み操作に対して行うことを近似する必要があります。バックグラウンド キューで非同期に削除を実行し、ファイル調整を使用する必要があります。」

于 2013-02-22T14:51:27.440 に答える
10

iCloud からドキュメントを削除するには、まず、削除するファイル名を取得する必要があります。その後、NSFileManager を使用して削除できます。

NSString *saveFileName = @"Report.pdf";
NSURL *ubiq = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
NSURL *ubiquitousPackage = [[ubiq URLByAppendingPathComponent:@"Documents"] URLByAppendingPathComponent:saveFileName];
NSFileManager *filemgr = [NSFileManager defaultManager];
[filemgr removeItemAtURL:ubiquitousPackage error:nil];

これは、ドキュメントを削除するために使用した方法です。確認してください。それは私にとって素晴らしいことです。ありがとう

于 2012-04-19T03:52:49.643 に答える
0

私は解決策を見つけたと思います:

[[NSFileManager defaultManager] setUbiquitous:NO itemAtURL:url destinationURL:nil error:nil]

ソース: http://oleb.net/blog/2011/11/ios5-tech-talk-michael-jurewitz-on-icloud-storage/

于 2012-04-19T03:52:26.710 に答える
0

「ドキュメントの削除」の下にある「ドキュメントのライフサイクルの管理」に関する Apple のドキュメントを参照してください。

于 2012-04-19T03:56:12.933 に答える