2017-10-24 1 views
0

iCloud에 저장된 문서 목록을 보여주는 UIDocument 기반 앱이 있습니다. 파일명이 NSMetadataItem에서 metadataItem.value(forAttribute: NSMetadataItemDisplayNameKey)으로 변경되었습니다. 문서에 문자열이 포함되어 있으므로 localizedName 속성을 재정 의하여이 문자열을 포함하는 더 나은 이름을 생성했습니다. 이상적으로, 나는 다운로드되기 전에 UIDocument의 localisedName 속성을 보여주고 싶습니다. 이것을 할 수있는 방법이 있습니까?전체 문서를 다운로드하지 않고 UIDocument에서 localizedName을 가져 옵니까?

FileWrapper으로 문서의 각 부분에 저장하고 있습니다. 제 경우에는 UIImageString입니다.

문서를 다운로드하지 않고 미리보기 이미지를 가져와서이 문자열에 해당하는 것이 있는지 궁금합니다.

저는 스위프트 4를 사용하고 있습니다 만, 여기서는 그 차이가 없다고 생각합니다. 많은 감사합니다.

답변

0

조쉬,

fileURL.deletingPathExtension(). lastPathComponent가

당신에게 않은 오버라이드 (override) localizedName의 등가를 제공 할 것입니다.

귀하의 게시물에서 귀하의 metadataquery.results가 귀하에게 URL 목록을 제공한다는 것을 알 수 있습니다. 이 URL은 모든 URL에서 사용할 수 있습니다.

참고로, UIDocument가 인스턴스화 된 후에는 재정의되지 않은 localizedName이 작동하지 않으므로 먼저 열어야합니다. 어리석은 모양입니다.

fileURL을 기반으로하지 않고 이름을 더 많이 지정해야하는 경우 먼저 파일을 열어야합니다.

다른 사람들을 위해 localizedName을 재정의하면 사용자의 위치에 따라 미소 짓는 얼굴을 기준으로 원하는 문자열로 수정할 수 있습니다.

fileWrappers를 사용하면 저장된 변수를 열고 가져올 수 있으며 "큰 개체"를 열지 않아도됩니다. 이 방법으로로드 된 썸네일이지만 파일 브라우저를 추가 한 이후 클라우드에 기본으로 업그레이드되었습니다.

TableView, CollectionView에서 이러한 열거 목록을 열려면 시간을 할애해야합니까? 내가 물어 보는 이유는 파일이 열려있는 동안 UIDocument가 ARC 규격을 준수하지 않기 때문입니다. 클라우드에 연결하는 Deamon은 하드 참조를 유지하고 Deamon을 느리게하며 가정합니다. TableViewCell이없는 경우 UIDocument를 허용하지 않습니다. 파일이 닫히기 전에 재사용됩니다. 즉, 문서에 대한 포인터가 손실됩니다.

+0

감사합니다. 그러나 미리보기 이미지를 얻는 방식과 같이 문서를 열지 않고도 사용자 정의 된 재정의 된 문서 이름을 얻을 수 있는지 궁금합니다. 그럴 수 없다는 소리 : 새 파일이 있다는 알림을 받으면 커스텀 타이틀을 생성하기에 충분한 데이터가 다운로드 될 때까지 임시 이름 (파일 이름 일 수도 있음)을 표시해야합니다. –

+0

이름을 사용자 정의하려는 방법을 말하지 않았습니다. 예를 들었을 때 말입니다. – Sojourner9

+0

전체 문서가 필요할 수도있는 이름을 기반으로 사용자 정의 할 수 있습니다. 따라서 콘텐츠가 있거나 생성 된 (그리고 가지고있는) 장치에서는 이름을 일종의 메타 데이터로 저장하므로 새로운 장치는 전체 문서를 다운로드하기 전에 해당 이름 문자열 만 다운로드 할 수 있습니다. –

관련 문제