当试图创建自己的会话对象NSURLSession()并请求url时,我会遇到无法识别的 Select 器异常,但当我使用共享会话NSURLSession.sharedSession()时,一切正常.怎么会?

var url = NSURL(string: "http:/www.google.com")
if url != nil {
    //throws unrecognized selector when dataTaskWithURL is called
    let session=NSURLSession()
    session.dataTaskWithURL(url!)

   //works
    let sharedSession=NSURLSession.sharedSession()
    sharedSession.dataTaskWithURL(url!)
}

推荐答案

您必须在配置中使用init URLSession:

URLSession(configuration: .default)

或者使用共享会话

URLSession.shared

Swift相关问答推荐

TabView中的视频播放器意外播放

对多个项目的数组进行排序

按Esc键时执行操作(工作表)

带有文本输入自动大小写修饰符的SwiftUI Textfield问题

从Swift中的泛型类继承?

有没有办法让文本字段以不同的 colored颜色 显示而不影响半透明背景?

CardStack 和 Lottie

从 Obj-C 函数返回 swift 类的不兼容指针类型

是否可以使用 .task 修饰符更新基于两个值的视图

swift 是否遇到 Java 的 2gb 最大序列化大小问题?

使用列表的下一项更新相同的视图

响应 UITextField (UIViewRepresentable) 中的特定按键

如何在 SwiftUI 中正确实现Collection 夹?

Xcode:方法参数的代码完成

如何以快速 Select 器菜单样式调整图像大小

如何使用 Date.ParseStrategy 在 Swift 5.6 中将字符串解析为日期?

让我的函数计算数组 Swift 的平均值

Type 应该采用什么协议来让泛型函数将任何数字类型作为 Swift 中的参数?

Swift 3:日期与 NSDate?

如何在 SwiftUI 中创建带有图像的按钮?