티스토리 뷰

반응형

 

 


FileManager instance Method
removeItem(at:)

removeItem(at:)은 FileManager의 인스턴스 메서드입니다.
해당 메서드는 특정 URL에 위치한 파일, 파일 디렉토리를 삭제하는데 사용합니다. 

 

 

 


Declaration
removeItem 선언방법

remoteItem(at:) 메서드의 선언형태입니다.

제거할 파일, 파일디렉토리 위치를 식별할 URL타입의 인자를 받아 해당 위치의 파일, 디렉토리를 제거합니다.

removeItem(at:)은 throws 예약어가 지정되어 처리 간 예외처리를 던져줄 수 있는 메서드입니다.

 

 


Parameters
메서드 인자

앞서 말했듯이, FileManager의 인스턴스메서드인 removeItems(at:)은 하나의 인자를 갖고 있죠. 바로 URL타입의 인자입니다.

해당 인자값은 제거하려는 파일 혹은 디렉토리의 URL을 지정하는데에 사용합니다.

만약 해당 URL이 특정 디렉토리를 지정하게 되면, 재귀적으로 해당 디렉토리 하위의 컨텐츠들 또한 제거가 됩니다. 받은 인자값에 대해 nil이 지정될 수도 있습니다.

 

 


Return Value
removeItems(at:) 메서드의 반환값

만약 해당 메서드의 실행 간 삭제가 성공적으로 진행되었거나, 해당 URL로 처리할 값이 nil일 경우 true를 반환하며, 메서드 실행 간 에러가 발생한다면 false를 반환합니다. 

만약 델리게이트(delegate)가 파일에 대한 연산을 중지한다면, 해당 메서드는 true를 반환합니다. 하지만, 만약 델리게이트가 디렉토리를 위한 연산을 중지한다면, false를 반환합니다. 

removeItem(at:)의 반환 결과 
- true : 삭제 연산이 성공적으로 진행 되었을 때 / 델리게이트에서 파일에 대한 연산 중지 시
- false : 삭제 연산 간 에러가 발생 시 / 델리게이트에서 디렉토리를 위한 연산 중지 시 

 

 


FileManager Delegate Method
FileManager의 델리게이트 메서드

각각의 아이템을 제거하기 이전에, 파일관리자(fileManager)는 델리게이트에 정말 수행해야만하는지를 묻습니다. 해당 작업과 관련된 델리게이트 메서드는 fileManager(_:shouldRemoveItemAt:) 메서드입니다.

- 만약 fileManager(_:shouldRemoveItemAt:) 메서드가 구현되어있지 않거나 (혹은 해당 작업이 OS X 10.5 이전 버전에서 작동한다면) 
  -> fileManager(_:shouldRemoveItemAtPath:) 메서드를 대신 사용합니다.

해당 델리게이트 메서드가 true를 반환했거나, 델리게이트가 별도의 적절한 메서드를 구현하지 않았다면, 파일관리자(fileManager)는 removeItems(at:) 메서드 연산에 따라 파일 혹은 파일디렉토리에 대한 삭제를 실행합니다.

만약 특정 파일, 디렉토리에 대한 제거 중 에러가 발생했다면, fileManager(_:shoulldProceedAfterError:removingItemAt:) 델리게이트 메서드 혹은, fileManager(_:shouldProceedAfterError:removingItemAtPath:) 델리게이트 메서드 등을 통해 처리과정을 감지할 수 있습니다. 

아이템 제거시, 해당 아이템 이전의 모든 버전들이 함께 제거되며 이후 url(forPublishingUBiqutousItemAt:expiration:) 메서드에 의해 이전 버전들로 반환되는 URL들은 무효화 처리됩니다. 

 

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함