Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSMutableURLRequest和参数标签错误_Ios_Swift - Fatal编程技术网

Ios NSMutableURLRequest和参数标签错误

Ios NSMutableURLRequest和参数标签错误,ios,swift,Ios,Swift,我收到一个错误,该错误表示参数标签“URL:,cachePolicy:,timeoutInterval:”与任何可用重载都不匹配,我无法找到如何修复此问题。有人知道吗?我使用的是Swift 3.0和XCode 8.3.2 参数标签在swift 3.0中是强制性的 public init(url URL: URL, cachePolicy: NSURLRequest.CachePolicy, timeoutInterval: TimeInterval) 在上述方法中,Aurgument

我收到一个错误,该错误表示参数标签“URL:,cachePolicy:,timeoutInterval:”与任何可用重载都不匹配,我无法找到如何修复此问题。有人知道吗?我使用的是Swift 3.0和XCode 8.3.2


参数标签在swift 3.0中是强制性的

    public init(url URL: URL, cachePolicy: NSURLRequest.CachePolicy, timeoutInterval: TimeInterval)
在上述方法中,Aurgument标签为

网址 缓存策略 时间间隔 因此,请提供url而非url作为第一个参数,将NSURL更改为url,并将函数参数中的caps url设置为小写字母

let url = URL(string: urlSource)!
let request = NSMutableURLRequest(url: url, cachePolicy: .reloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 10)
request.httpMethod = "POST"
不要在Swift 3中使用NSMutableURLRequest

改用Swift 3本机语法,有新的结构URL和URLRequest

var关键字使请求可变

let url = URL(string: urlSource)!
var request = URLRequest(url: url, cachePolicy: .reloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 10)
PS:代码中的问题是大写URL参数标签

编辑:与queryToServer方法等效的Swift 3为:


调度块中的错误检查无效。要么数据有效,要么错误为零,反之亦然。另一方面,您必须恢复数据任务才能启动它,而glGetString可能是postString。

将代码作为文本而不是图像发布!对不起,我是新到这个网站的:谢谢你的帮助!这修复了错误,但现在//函数查询到服务器中的所有代码都被弄乱了:到处都是错误,我应该如何在这个函数中编写其余的代码?我是Swift 3.0新手,需要很长时间才能发现所有新事物!这是让我的应用程序正常运行的最后一步单击错误行左侧的红色错误按钮。在大多数情况下,编译器建议进行修复。例如,HTTPMethod和HTTPBody是小写的http…这适用于大多数行,但对于request.HTTPBody=glGetString.dataUsingEncodingNSUTF8StringEncoding,我获取类型为“GLenum->UnsafePointer!”的值没有成员“DataUsingEncode”,对于resultdata为!NSData,nil i get nil与预期的参数类型“NSError”不兼容请仔细阅读答案中的Swift 3代码以及结尾的注释。非常感谢更新的答案,它的效果非常好!您使用Swift 3.0有多久了?
let url = URL(string: urlSource)!
var request = URLRequest(url: url, cachePolicy: .reloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 10)
func queryToServer(urlSource:String, postString:String, result:@escaping (Data?, Error?) -> ()) {
    let url = URL(string: urlSource)!
    var request = URLRequest (url: url, cachePolicy: .reloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 10)
    request.httpMethod = "POST"
    request.httpBody = postString.data(using: .utf8)
    let session = URLSession.shared
    session.dataTask(with: request) { (data, response, error) in
        DispatchQueue.main.async {
            result(data, error)
        }
    }.resume()
}