UidocumentPickerviewController - метод делегата не вызывается -- ios поле с участием swift поле с участием delegates поле с участием uidocumentpickerviewcontroller пол Связанный проблема

UIDocumentPickerViewController - Delegate method not being called


5
vote

проблема

русский

Я использую UidocumentPickerviewController, чтобы выбрать документы из файлов и загружать его на сервер. Я могу успешно получить доступ к файлам, но при нажатии на файл метод делегата не вызывается.

Я использовал следующий код, чтобы вызвать сборщик документов:

 <код> class Uploads: UIViewController {      override func viewDidLoad() {         super.viewDidLoad()          // Do any additional setup after loading the view.     }      override func didReceiveMemoryWarning() {         super.didReceiveMemoryWarning()         // Dispose of any resources that can be recreated.     }      @IBAction func uploadDocument(_ sender: Any) {          let documentPicker = UIDocumentPickerViewController(documentTypes: [String(kUTTypePDF), String(kUTTypePlainText)], in: .import)         documentPicker.delegate = self         if #available(iOS 11.0, *) {             documentPicker.allowsMultipleSelection = false         } else {         }         present(documentPicker, animated: true, completion: nil)     }      /*     // MARK: - Navigation      // In a storyboard-based application, you will often want to do a little preparation before navigation     override func prepare(for segue: UIStoryboardSegue, sender: Any?) {         // Get the new view controller using segue.destinationViewController.         // Pass the selected object to the new view controller.     }     */  }  extension Uploads: UIDocumentPickerDelegate {      func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {          print(urls.first)     }      func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) {         print("Cancelled")     } }   

Я заметил, что я получаю следующее предупреждение при вызове метода делегата:

Метод экземпляра «DocumentPicker (: DidPickdocumentsat :)» почти совпадает Дополнительное требование «DocumentPicker (: DidPickdocumentsat :)» Протокол «UidocumentPickerDelegate»

Сделать «DocumentPicker (_: DidPickdocumentsat :)», чтобы заставить замолчать это Предупреждение

Я считаю, что метод делегата не вызывается из-за этого предупреждения, хотя я не мог понять, почему я получаю это предупреждение.

Английский оригинал

I'm using UIDocumentPickerViewController to select documents from the Files and upload it to a server. I'm able to successfully access Files, but upon clicking on the file the delegate method doesn't get called.

I've used the following code to call the document picker:

class Uploads: UIViewController {      override func viewDidLoad() {         super.viewDidLoad()          // Do any additional setup after loading the view.     }      override func didReceiveMemoryWarning() {         super.didReceiveMemoryWarning()         // Dispose of any resources that can be recreated.     }      @IBAction func uploadDocument(_ sender: Any) {          let documentPicker = UIDocumentPickerViewController(documentTypes: [String(kUTTypePDF), String(kUTTypePlainText)], in: .import)         documentPicker.delegate = self         if #available(iOS 11.0, *) {             documentPicker.allowsMultipleSelection = false         } else {         }         present(documentPicker, animated: true, completion: nil)     }      /*     // MARK: - Navigation      // In a storyboard-based application, you will often want to do a little preparation before navigation     override func prepare(for segue: UIStoryboardSegue, sender: Any?) {         // Get the new view controller using segue.destinationViewController.         // Pass the selected object to the new view controller.     }     */  }  extension Uploads: UIDocumentPickerDelegate {      func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {          print(urls.first)     }      func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) {         print("Cancelled")     } } 

I noticed that I'm getting the following warning upon calling the delegate method:

Instance method 'documentPicker(:didPickDocumentsAt:)' nearly matches optional requirement 'documentPicker(:didPickDocumentsAt:)' of protocol 'UIDocumentPickerDelegate'

Make 'documentPicker(_:didPickDocumentsAt:)' private to silence this warning

I believe that the delegate method isn't being called due to this warning, although I couldn't figure out why I'm getting this warning.

</div
           
         
         

Список ответов

0
 
vote

Соблюдайте образец кода, надеюсь, это поможет:

 <код> System.Windows.Shapes.Path1  
 

Sharing code sample hopefully it'll help:

class ViewController : UIViewController,UIDocumentPickerDelegate{    var documentBrowser: UIDocumentPickerViewController = {   let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]   let browser = UIDocumentPickerViewController(documentTypes: [documentsPath], in: .open)       browser.allowsMultipleSelection = true       return browser     }()  override func viewDidLoad() {         super.viewDidLoad()         self.addChild(documentBrowser)         documentBrowser.view.frame = self.view.bounds         view.addSubview(documentBrowser.view)  }    func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]){        print(urls)    } } 
</div
 
 
-1
 
vote
Проблема

появляется, если класс, который принимает протокол «UidocumentPickerDelegate», объявляется как «Open».

Например, этот класс воли есть проблема:

 <код> System.Windows.Shapes.Path2  

Пока этот класс будет не иметь проблему:

 <код> System.Windows.Shapes.Path3  
 

Problem appears if class which adopts 'UIDocumentPickerDelegate' protocol is declared as 'open'.

For example this class will have a problem:

open class FilePickerHelper: UIDocumentPickerDelegate 

while this class will not have a problem:

class FilePickerHelper: UIDocumentPickerDelegate 
</div
 
 

Связанный проблема

376  Как я могу преобразовать Swift Array в строку?  ( How do i convert a swift array to a string ) 
Я знаю, как программно сделать это, но я уверен, что есть встроенный ... Каждый язык, который в котором у меня использовал, имеет какое-то текстовое предста...

1  PDF Масштабирование внутри UiscrollView  ( Pdf zooming inside uiscrollview ) 
У меня есть файл PDF 2835 пикселей внутри 2835 пикселей UiscrollView. Чтобы отобразить PDF, я использую CATILEDLAYER. Моя проблема в том, что когда я уменьш...

1  Как бы я выровнял изображение в нижнем правом направлении вида, используя классы размера в XCode?  ( How would i align an image to the bottom right of the view using size classes in ) 
У меня есть изображение, которое я хочу выровнять с правым нижним углом вида, а затем я хочу, чтобы остальное изображение масштабируется, чтобы заполнить дост...

1  Попытка запуска двух процессов одновременно в GCD - iOS  ( Attempting to run two processes simultaneously in gcd ios ) 
Я пытаюсь загрузить два набора данных на заднем плане одновременно через GCD в iOS. В настоящее время я построил две отдельные одновременные очереди, в которы...

1  Не удается изменить размер кадра UiscrollView  ( Cannot resize uiscrollviews frame ) 
У меня есть UiscrollView с его рамой и содержимым с таким же размером. Я хочу изменить высоту кадра ScrollView, когда появится клавиатура, но она не работает....

0  Должен ли я использовать Mac для разработки Javafx для iOS  ( Do i have to use a mac to develop javafx for ios ) 
Документация http://docs.gluonhq.com/charm/4.0.1 / # _ iOS говорит, что мне нужно «Mac с MacOS X 10.9 или превосходящим» для разработки для iOS. Но я не пон...

1  Обновление поле PDF штрих-кода в IOS и устройстве Android  ( Updating a pdf barcode field in ios and android device ) 
Я создал одну корпус Acrobat, используя радиообъекты, текстовое поле, кнопку, флажок и штрих-код в Adobe Acrobat Pro. После этого я открыл эту форму в Adobe...

0  Не удалось отправить сообщение с помощью RTCDatachannel на iOS  ( Failed to send message using rtcdatachannel on ios ) 
Мне удалось разделить видео и аудио между A и B, и я нахожу RTCDatachannelState изменился на KRTCDatachannelStateOpen. <код> - (void)channelDidChangeState:(...

8  Кормление моих собственных видео на Screensaver Apple TV  ( Feeding my own videos to apple tv screensaver ) 
На 4-м GEN Apple TV Вы можете выбрать пользовательский URL-адрес файла JSON для загрузки фильмов заставки, кроме Apple. Для этого вам нужно войти в настройки,...

0  Не может запустить TCP-сервер на iOS, сотовой  ( Cannot run tcp server on ios cellular ) 
Я пытаюсь запустить TCP-сервер на iOS из сотовой связи. В целях задачи этого вопроса я написал эту очень упрощенную версию сервера и клиента в C, используя So...

0  Лучшие практики для запроса / ответа на сетевой вызов в приложении iPhone Программирование [Закрыто]  ( Best practises for network call request response in iphone application programmi ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> <Путь d = "M15 6.38A6.48 6.48 0 007.78. 04H-.02A6.49 6.49 0 002.05 ...

0  Subview iOS не всегда появляется  ( Ios subview doesnt always appears ) 
У меня есть приложение, с большим количеством видов и подсвидений. В моем делегате приложения я открываю подсыдку каждый раз, когда я получаю уведомление. Я...

0  Уведомление о расположении на основе последней функции iOS  ( Location notifications based on latest ios feature ) 
Я хотел бы знать, реализуется ли следующее? Я хочу, чтобы мое приложение iOS предоставляет пользователям уведомление, когда достигает определенного местопол...

0  Создать видео слияние с аудио, как Ticktock и Post в SWIFT IOS  ( Create video merge with audio like ticktock and post in swift ios ) 
Neade Некоторые библиотеки или рамки для добытого видеоредактивации и видео. https://github.com/ltebean/Live ...

0  Coredata не может выполнить неисправность во время сохранения операции с фона MOC  ( Coredata cant fulfill a fault during save operation from background moc ) 
Я использую два MOCS, один для основного потока и другой MOC на фоновой нити. На главной ните у меня есть UiableView, работающий с FRC (NSFetchedResultScontro...

Связанный проблема

376  Как я могу преобразовать Swift Array в строку? 
1  PDF Масштабирование внутри UiscrollView 
1  Как бы я выровнял изображение в нижнем правом направлении вида, используя классы размера в XCode? 
1  Попытка запуска двух процессов одновременно в GCD - iOS 
1  Не удается изменить размер кадра UiscrollView 
0  Должен ли я использовать Mac для разработки Javafx для iOS 
1  Обновление поле PDF штрих-кода в IOS и устройстве Android 
0  Не удалось отправить сообщение с помощью RTCDatachannel на iOS 
8  Кормление моих собственных видео на Screensaver Apple TV 
0  Не может запустить TCP-сервер на iOS, сотовой 
0  Лучшие практики для запроса / ответа на сетевой вызов в приложении iPhone Программирование [Закрыто] 
0  Subview iOS не всегда появляется 
0  Уведомление о расположении на основе последней функции iOS 
0  Создать видео слияние с аудио, как Ticktock и Post в SWIFT IOS 
0  Coredata не может выполнить неисправность во время сохранения операции с фона MOC 



© 2021 www.qaru.top All Rights Reserved. Q&A House все права защищены


Licensed under cc by-sa 3.0 with attribution required.