繁体   English   中英

URL 编码 swift IOS

[英]URL Encoding swift IOS

我正在使用以下代码对我的字符串 url 进行编码

let originalString = "test/test"
let escapedString = originalString.addingPercentEncoding(withAllowedCharacters: . urlQueryAllowed)
print(escapedString!)

我正在寻找 Swift 扩展来编码 url,这样我就不必每次都编写代码。 如何创建扩展以对 url 进行编码

我认为你可以做这样的事情:

extension String {
    var encoded: String? {
        return self.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)
    }
}

并称之为:

let encodedUrl = "http://...".encoded

如果你想创建一个扩展,你只需要添加

extension YourViewController {
    func stringEncode(encodedString: String) {
        let escapedString = 
        encodedString.addingPercentEncoding(with(withAllowedCharacters: .urlHostAllowed)
     print (escapedString!)
   }
}

然后在您想使用它的任何地方调用该函数。 然后将字符串传递给函数的 encodingString 部分。 就像你要在按下按钮时使用它来对 textField 中的某些内容进行编码一样:

@IBOutlet weak var textField: UITextField!

@IBAction func buttonPressed (_ sender: Any) {
    stringEncode(encodedString: textField.text)
}

然后按下按钮它应该执行你想要的功能。 我自己仍在学习 Swift,但我想我会尝试回答 - 让我知道这是否有效!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM