V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yuankui
V2EX  ›  Swift

这个是 Swift 的坑?

  •  
  •   yuankui · 2021-08-17 14:33:41 +08:00 · 1559 次点击
    这是一个创建于 1179 天前的主题,其中的信息可能已经有所发展或是发生改变。
    import Foundation
    
    extension String {
        typealias HttpCallback = (Data?, URLResponse?, Error?) -> Void
        
        func get(_ callback: @escaping HttpCallback) -> URLSessionTask {
            let url = URL(string: self)!
            let task = URLSession.shared.dataTask(with: url) { [task] data, response, error in
            
                callback(data, response, error)
            }
    
            task.resume()
            return task
        }
    }
    
    let task = "https://www.badiu.com".get { data, response, error in
        let str = String(data: data!, encoding: .utf8)
        print(str ?? "response")
    }
    
    
    
    
    sleep(200)
    

    自己的原意是扩展性 string,实现一个方便执行 http 的库,结果不生效。

    上面的代码如果展开,在外面执行就没问题。

    有没有大佬清楚我是踩到什么坑了吗?

    8 条回复    2021-08-17 15:04:45 +08:00
    Lin0936
        1
    Lin0936  
       2021-08-17 14:53:17 +08:00
    不生效是指?
    yuankui
        2
    yuankui  
    OP
       2021-08-17 14:54:36 +08:00
    @Lin0936 没有 print 出来东西,我断电了,也没有执行到 pring 那一行
    yuankui
        3
    yuankui  
    OP
       2021-08-17 14:54:46 +08:00
    断点
    beimenjun
        4
    beimenjun  
       2021-08-17 14:55:10 +08:00
    因为你的域名把 baidu 写成了 badiu
    hstdt
        5
    hstdt  
       2021-08-17 14:56:15 +08:00 via iPhone
    网址不存在超时了,多等会
    beimenjun
        6
    beimenjun  
       2021-08-17 14:57:51 +08:00
    然后没有拿到 data 你又对 data 进行强制解包,当然不会走到 print 的地方,因为在前一步就挂了。
    Lin0936
        7
    Lin0936  
       2021-08-17 15:00:18 +08:00
    @yuankui baidu 拼错了。
    yuankui
        8
    yuankui  
    OP
       2021-08-17 15:04:45 +08:00
    羞耻啊。。的确是拼错了。。浪费大家时间了,我还以为是 swift 的 ARC,或者循环引用相关的的呢
    感谢各位。

    @Lin0936
    @beimenjun
    @hstdt
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2331 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:55 · PVG 23:55 · LAX 07:55 · JFK 10:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.