2016-08-04 4 views
-2

DocumentDirectory에서 특정 항목을 제거하고 싶습니다. 즉, DocumentDirectory에 50 개의 개체가 있고 그 중 5 가지 요소를 제거하고 싶습니다. 다음 코드를 사용하여 DocumentDirectory 개체를 가져 왔습니다. 문서 디렉토리의 특정 항목을 삭제하는 방법 ios objective c

NSURL *vedioURL; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

NSString *documentsDirectory = [paths objectAtIndex:0]; 

NSArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory error:nil]; 

NSLog(@"files array %@", filePathsArray); 

는 하나

+0

을 시도 할 수 있습니다이 방법처럼 시도 할 수 있습니다이 문제를 해결하기 위해 나를 도와 줄 수있는 삭제하려는 개체? –

+0

특정 비디오 파일을 제거 하시겠습니까? –

+0

동영상 파일이 아닙니다. FileName, "Name.png", "Testapp.sqlite", "Testapp.sqlite-shm", "Testapp.sqlite-wal", "image_name"을 제거해야합니다. - –

답변

2

당신은

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
if (filePathsArray.count >= 6) { 
    for (NSInteger i=filePathsArray.count-6; i < filePathsArray.count; i++) { 
     NSString *filePath = [documentsDirectory stringByAppendingPathComponent:[filePathsArray objectAtIndex:i]]; 
     if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) { 
      NSError *error; 
      if (![[NSFileManager defaultManager] removeItemAtPath:filePath error:&error]) { 
       NSLog(@"Delete error: %@", error); 
      } 
     } 
    } 
} 
+0

삭제 하시겠습니까? –

+0

이것은 문서 디렉토리에있는 파일입니다. \t "2016-07-27-11-48-11-0.MOV", "2016-07-27-14-10-25-0.MOV", " 2016-07-27-14-10-40-0.MOV ","2016-07-27-14-47-26-0.MOV ","2016-07-27-17-00-51-0. MOV ","2016-07-27-17-14-03-0.MOV ","2016-07-27-18-29-08-0.MOV ","2016-07-27-18-35- 27-0.MOV ""2016-07-28-09-56-18-0.MOV ""2016-07-28-16-47-40-0.MOV ","2016-07-28-16- 52-46-0.MOV ","2016-07-29-17-00-12-0.MOV ","2016-08-04-10-59-01-0.MOV ", FileName,"Name. png ","Testapp.sqlite ","Testapp.sqlite-shm ","Testapp.sqlite-wal ","image_name "- 마지막 6 개 요소를 삭제해야합니다. –

+0

@SatheeshkumarNaidu 배열에서 마지막 6 개 개체를 제거 하시겠습니까? –

2

당신은 당신이 지정할 수있는 다음과 같은 방법

NSString *path = nil; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
path = [paths[0] stringByAppendingPathComponent:@"YOUR DIR"]; 
path = [path stringByAppendingPathComponent:@"YOUR FILE"]; 
NSError *error; 
if ([[NSFileManager defaultManager] fileExistsAtPath:path])  
{ 
    if (![[NSFileManager defaultManager] removeItemAtPath:path error:&error]) //Delete it 
    { 
     NSLog(@"Delete file error: %@", error); 
    } 
} 
+0

path = [paths [0] stringByAppendingPathComponent : @ "YOUR DIR"]; 어떤 디렉토리 내가 줄 path = [path stringByAppendingPathComponent : @ "YOUR FILE"]; 어떤 파일을 보내야합니까 –

+0

"2016-07-27-11-48-11-0.MOV", "2016-07-27-14-10-25-0.MOV", "2016-07-27- 14-10-40-0.MOV ","2016-07-27-14-47-26-0.MOV ","2016-07-27-17-00-51-0.MOV ","2016- 07-27-17-14-03-0.MOV ","2016-07-27-18-29-08-0.MOV ","2016-07-27-18-35-27-0.MOV " "2016-07-28-09-56-18-0.MOV" "2016-07-28-16-47-40-0.MOV", "2016-07-28-16-52-46-0. MOV ","2016-07-29-17-00-12-0.MOV ","2016-08-04-10-59-01-0.MOV ", FileName, "Name.png ", "Testapp.sqlite", "Testapp.sqlite-shm", "Testapp.sqlite-wal", "image_name" –

+0

최근 6 개의 파일을 삭제하고 싶습니다. –

관련 문제