V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
yuankui
V2EX  ›  Swift

这个是 Swift 的坑?

  •  
  •   yuankui · Aug 17, 2021 · 2066 views
    This topic created in 1725 days ago, the information mentioned may be changed or developed.
    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 replies    2021-08-17 15:04:45 +08:00
    Lin0936
        1
    Lin0936  
       Aug 17, 2021
    不生效是指?
    yuankui
        2
    yuankui  
    OP
       Aug 17, 2021
    @Lin0936 没有 print 出来东西,我断电了,也没有执行到 pring 那一行
    yuankui
        3
    yuankui  
    OP
       Aug 17, 2021
    断点
    beimenjun
        4
    beimenjun  
    PRO
       Aug 17, 2021
    因为你的域名把 baidu 写成了 badiu
    hstdt
        5
    hstdt  
       Aug 17, 2021 via iPhone
    网址不存在超时了,多等会
    beimenjun
        6
    beimenjun  
    PRO
       Aug 17, 2021
    然后没有拿到 data 你又对 data 进行强制解包,当然不会走到 print 的地方,因为在前一步就挂了。
    Lin0936
        7
    Lin0936  
       Aug 17, 2021
    @yuankui baidu 拼错了。
    yuankui
        8
    yuankui  
    OP
       Aug 17, 2021
    羞耻啊。。的确是拼错了。。浪费大家时间了,我还以为是 swift 的 ARC,或者循环引用相关的的呢
    感谢各位。

    @Lin0936
    @beimenjun
    @hstdt
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5603 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 323ms · UTC 07:31 · PVG 15:31 · LAX 00:31 · JFK 03:31
    ♥ Do have faith in what you're doing.