swift2 如何解决Xcode错误消息“url”示例成员不能用于类型“view controller”

yr9zkbsy  于 2022-11-06  发布在  Swift
关注(0)|答案(2)|浏览(155)

我在Xcode中输入了以下swift代码,它显示了错误消息
'url'执行严修成员不能用于型别'view controller'
这是我密码-

let url = NSURL(string: "http://www.stackoverflow.com")!

let task = NSURLSession.sharedSession().dataTaskWithURL(url) { (data, response, error) -> Void in

}
c8ib6hqw

c8ib6hqw1#

以下是Swift 3的代码和Xcode 8.2.1(当前版本)的错误消息:

let url = URL(string: "http://www.stackoverflow.com")!
var task = URLSession.shared.dataTask(with: url) {
    (data: Data?, response: URLResponse?, error: Error?) in
}

第2行中的错误消息现在是:
不能在属性初始值设定项内使用示例成员“url”;属性初始值设定项在“self”可用之前运行
我想这会使它更清楚。创建task必须在后面的viewDidLoad这样的函数中完成。
这段代码可以正常工作(至少它可以编译):

var task: URLSessionTask?

override func viewDidLoad() {
    super.viewDidLoad()

    if let url = URL(string: "http://www.stackoverflow.com") {
        task = URLSession.shared.dataTask(with: url) {
            (data: Data?, response: URLResponse?, error: Error?) in

            // Handle response and errors here
        }
    }

    // Do any additional setup after loading the view.
}
oo7oh9g9

oo7oh9g92#

应按以下方式调用。

let url = "www.example.com"     
let urlRequest = URLRequest(url: URL(string: url)! )
let urlSession = URLSession.shared        
let task = urlSession.dataTask(with: rssRequest) { (data, response, error) in 
    //get your response and error here 
}

操作步骤:
1.创建URL请求
1.创建共享会话
1.从URL下载内容

相关问题