iOS Swift中如何实现支持打开任意类型文件?
如何在iOS中实现UIDocumentPickerViewController打开任意类型文件?
你尝试用通配符*获取所有文件类型的代码无法正常工作,原因在于UTType.types(tag: "*", tagClass: UTTagClass.filenameExtension, conformingTo: nil)并不能正确返回所有文件对应的UTType集合——UTType的通配符*在这里不会被解析为匹配所有扩展名,实际返回的类型集合不符合预期,导致文档选择器无法识别所有文件类型。
要实现打开任意类型文件的需求,正确的做法是使用UTType.item,它是UTType体系中的根类型,所有文件类型都继承自这个类型,将其传入文档选择器的初始化方法即可允许选择任意文件:
let types = [UTType.item] let modelPicker = UIDocumentPickerViewController(forOpeningContentTypes: types)
你最初的写法存在逻辑问题,无法达到预期效果:
// 此代码无法正常工作,因为通配符*无法正确匹配所有文件扩展名 let types = UTType.types(tag: "*", tagClass: UTTagClass.filenameExtension, conformingTo: nil) let modelPicker = UIDocumentPickerViewController(forOpeningContentTypes: types)
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

