Content and Change Tracking

Panther·2021년 8월 11일
0

https://developer.apple.com/documentation/fileprovider/content_and_change_tracking

"Create enumerators to specify your file provider's content, and track changes to that content."

파일 제공자의 컨텐트를 구체화하고 해당 컨텐트의 변경사항을 추적하기 위해 열거자를 생성합니다.

Overview

사용자에게 파이 제공자의 아이템을 보여주려면, 시스템에게 이 아이템에 대해서, 그리고 아이템들의 컨텐츠에 대해서 알려줘야 합니다. 열거자를 제공해서 알려줄 수 있습니다.

열거자를 제공하려면 NSFileProviderEnumerator 프로토콜을 채택한 클래스를 생성해야 합니다. 시스템은 파일 제공자에 의해 관리되는 아이템(폴더 혹은 문서)을 나타내기 위해 이 열거자를 사용합니다. 또한, 시스템은 아이템에 대한 모든 변경사항을 추적하기 위해 열거자를 사용합니다.

또한, 시스템은 작업하고 있는 집합(최근 혹은 즐겨찾기와 같읕 특별한 아이템의 집합)을 추적하기 위해 열거자를 사용합니다.

이러한 유즈 케이스를 처리하기 위해 열거자를 생성합니다.

When...You are passed...Your enumerator returns...
사용자가 파일 제공자의 컨텐트 브라우징을 시작할 때입니다.The rootContainer constant파일 제공자 루트 디렉토리의 컨텐트, 그리고 해당 컨텐트에 대한 모든 변경사항입니다.
사용자가 파일 제공자의 컨텐트를 브라우징 하는 동안 새 폴더를 열 때입니다.폴더의 영구적 아이덴티파이어입니다.특정 폴더의 컨텐트 및 컨텐트에 대한 모든 변경사항입니다.
사용자가 파일 제공자로부터 문서를 열 때입니다.문서의 영구적 아이덴티파이어입니다.열려있는 문서에 대한 변경사항입니다.
시스템은 작업하고 있는 집합에 대한 변경사항 알림을 받았을 땡비니다.workingSet 상수입니다.작업하고 있는 집합의 컨텐트 및 해당 컨텐트에 대한 모든 변경사항입니다.

한 번 요청이 되면, 열거자는 컨텐트 및 아이템에 대한 모든 변경사항을 제공하기 위해 사용됩니다. 시스템이 아이템 사용을 끝내면, 열가자의 invalidate() 메소드를 호출합니다. 예를 들어 디렉토리의 컨텐트를 제공하는 열거자를 반환하면, 열거자가 활성화되어 있는 한 시스템은 디렉토리에 대한 변경사항을 열거하기 위해 열거자를 사용합니다.

시스템은 아마도 여러 가지 다른 아이템에 대한 여러 개의 활성화된 열거자를 갖고 있을 것입니다. 몇 가지는 스크린에 현재 표시되고 있는 아이템을 나타내고 있는 열거자일 것입니다. 다른 것들은 더 이상 표시되지 않는 아이템일 것이며, 열거자는 성능에 대한 이유로 남게 됩니다. 활성화된 모든 열거자에 의해 관리되는 컨텐트의 모든 변경사항을 시스템에 알릴 필요가 있습니다. 작업하고 있는 집합(활성화된 열거자를 갖거나 그렇지 않더라도) 역시 마찬가지입니다.

Topics


Content

Defining Your File Provider's Content

파일 제공자의 컨텐트를 구체화하기 위해 열거자를 생성합니다.

https://developer.apple.com/documentation/fileprovider/content_and_change_tracking/defining_your_file_provider_s_content
https://velog.io/@panther222128/Defining-Your-File-Providers-Content


Change Tracking

Tracking Your File Provider's Changes

파일 제공자의 컨텐트에 대한 변경사항을 추적하기 위해 열거자를 생성합니다.

https://developer.apple.com/documentation/fileprovider/content_and_change_tracking/tracking_your_file_provider_s_changes
https://velog.io/@panther222128/Tracking-Your-File-Providers-Changes


0개의 댓글