0

iTunesのファイル共有フォルダにあるファイルのパスを取得しても問題ありません。削除ボタンを押したときにファイルを完全に削除したいのですが。

もう1つの質問..削除ボタンが押されたときにファイル拡張子を区別することは可能ですか?たとえば、それがaviファイルの場合、映画を削除しようとしていることをユーザーに警告しますか?

ありがとう...

YannikLに感謝します。現在は機能しています。もう1つ疑問に思っていました。英語以外の文字を含むファイルを削除するにはどうすればよいですか。

4

1 に答える 1

1

iTunesFileSharing フォルダは単なるドキュメント フォルダです。次のコードを実行して、パスを取得できます。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *folderPath = [paths objectAtIndex:0];

次に、ドキュメント フォルダーで使用可能なファイルを実行し、その拡張子をテストして、それらが AVI ファイルであるかどうかを確認します。

- (BOOL)existsMovieFilesAtPath:(NSString *)folderPath
{
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSError *error = nil;
    NSArray *contents = [fileManager contentsOfDirectoryAtPath:folderPath error:&error];

    if (error == nil)
    {
        for (NSString *contentPath in contents)
        {
            NSString *fileExt = [contentPath pathExtension];

            // If the current file is an AVI file
            if ([fileExt isEqualToString:@"avi"])
            {
                return YES;
            }
        }
    }

    return NO;
}

ファイルを削除するには、同じことを行うことができます:

- (BOOL)deleteFilesAtPath:(NSString *)folderPath
{
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSError *error = nil;
    NSArray *contents = [fileManager contentsOfDirectoryAtPath:folderPath error:&error];

    if (error == nil)
    {
        for (NSString *contentPath in contents)
        {
            [fileManager removeItemAtPath:contentPath error:NULL];
        }
    }

    return NO;
}
于 2012-07-28T12:02:59.730 に答える