SwiftUI 가져오기/내보내기 파일 - 2부

2846 단어 swiftuiswift
올해 Xcode와 iOS 베타 기간 동안 많은 변화가 있었습니다. 일반적으로 초기 베타에서 주요 새 기능을 얻을 수 있으며 후속 베타에서는 버그 수정만 있을 것입니다. 올해는 조금 다릅니다. 베타 주기가 끝나면 Swift UI도 변경되었습니다.

베타 6은 SwiftUI 가져오기/내보내기 파일을 변경했습니다. 이제 환경 변수 대신 수정자입니다. 내 블로그 게시물은 구식이고 Xcode 12가 출시되었으므로 이러한 후속 게시물이 필요하다고 생각합니다.

가져오기



파일을 가져오려면 fileImporter 수정자를 사용해야 합니다. 이 수정자를 사용해야 하는 경우에는 제한이 없습니다. 이전에 시트를 제시하는 것과 동일하게 작동합니다.

.fileImporter(
      isPresented: $viewModel.isImporting,
      allowedContentTypes: viewModel.importingContentTypes,
      allowsMultipleSelection: true,
      onCompletion: { result in
        if let urls = try? result.get() {
          // you can do with the file urls here
        }
      }
    )

매개변수는 자체적으로 설명할 수 있습니다. 소요
  • a Binding<Bool> 선물 동상
  • 콘텐츠 유형의 배열[UTType]
  • 가져오는 동안 다중 선택을 허용하는 bool
  • 가져오기가 성공하면 완료 블록

  • 수출



    파일을 내보내려면 fileMover 수정자를 사용해야 합니다.

    .fileMover(isPresented: $viewModel.isExporting,
               file: viewModel.generateExportURL()) { _ in }
    

    파일 이동기는 표시된 상태와 내보내야 하는 파일의 URL에 대해 Binding<Bool>를 사용합니다.

    실제 사례를 알고 싶다면 NetNewsWire 앱에 대해 내가 제기한 this PR을 참조하십시오.

    좋은 웹페이지 즐겨찾기