ios - URL 对 API 请求的文本字段文本进行编码

标签 ios swift

我正在使用 Swift 编写我的第一个 iOS 应用程序。尝试从自定义 API 请求并且文本字段值未经过 URL 编码是失败的。我试过了

var search_term = search.text;    
var encoded_term = search_term.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLHostAllowedCharacterSet())

但是当与 API url 连接时失败,说一个字符串并且 uINT8 无法连接。

这是这两行之后的其余代码。

var request : NSMutableURLRequest = NSMutableURLRequest(); 
request.URL = NSURL(string: url); request.HTTPMethod = "GET";       
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(),   
completionHandler:{ (response:NSURLResponse!, data: NSData!, error: NSError!) -> Void in    
   println(response); 
   println(error);

最佳答案

var url : String = "http://myAPI.com?q=";    
var search_term = search.text;    
var encoded_term = search_term.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLHostAllowedCharacterSet())
url = url + encoded_term!;

这允许连接完成并与上述功能一起使用。

关于ios - URL 对 API 请求的文本字段文本进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27750933/

相关文章:

ios - Swift:让 UICollectionView 动态改变它的大小

ios - 如何从具有相同父级的其他 UIView 控制/引用 UIView?

swift - 删除运行时发现的标有 "rt"的测试

ios - 多个自定义 View 时的自动布局问题

ios - "Attempt to insert row 0 into section 0, but there are only 0 rows in section 0 after the update"错误

ios - 如何从 Xcode 9 中打开的多个模拟器中退出或关闭单个模拟器?

swift - 什么使属性成为 Swift 中的计算属性

swift - 如何检测哪个 SCNNode 被触摸了 ARKit

ios - Spritekit 和 Swift 3 - 碰撞后改变球头速度

iOS Xcode 从 Maya 导入 COLLADA .dae 3D 模型同时尊重枢轴点