保存到文档目录时如何从空格中删除 % 符号

How to remove % Symobols from white spaces when saving to Document Directory

我正在尝试将我的 PDF 重命名为 'My Document 1.pdf',但是当我输入此名称时,它会将空格保存为“%”符号,并且输出将是 'My%Document%1.pdf'。结果我无法将其导出到任何应用程序,因为无法读取名称...

我正在使用带有文本字段的警报控制器来输入名称。 这是用于输入名称的代码。

我将其声明为全局变量,以便我可以在任何地方访问它。

var pdfnameing = "PDFfile"

这是按下命名按钮时调用的函数

 func PDFNaming()  {
                let alertController = UIAlertController(title: "Name Your PDF", message: "Enter A Name for your PDF", preferredStyle: .alert)

                 // add textfield at index 0
                 alertController.addTextField(configurationHandler: {(_ textField: UITextField) -> Void in
                     textField.placeholder = "PDF Name"

                 })

              

                 // Alert action confirm
                 let confirmAction = UIAlertAction(title: "OK", style: .default, handler: {(_ action: UIAlertAction) -> Void in
                    // print("name: \(String(describing: alertController.textFields?[0].text))")
                     //print("email: \(String(describing: alertController.textFields?[1].text))")
                  
                  
                    self.pdfnameing = alertController.textFields![0].text!
               
                 
                 })
                 alertController.addAction(confirmAction)

                 // Alert action cancel
                 let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler: {(_ action: UIAlertAction) -> Void in
                     print("Canelled")
                  self.customm.selectedSegmentIndex = 0;
                 })
                 alertController.addAction(cancelAction)

                 // Present alert controller
                 present(alertController, animated: true, completion: nil)
    }

保存 PDF

 let fullPath = URL(fileURLWithPath: documentsDirectory).appendingPathComponent("\(pdfnameing).pdf").absoluteString

如有任何帮助,我们将不胜感激。 提前致谢!

你用错了URL属性。您需要的是使用 URL path 属性 ,它不会对您的字符串进行百分比编码,也不包含 URL 方案。