0

我对 Ios 开发有点陌生,但仍在研究 Xcode。
我已经下载了 Xcode 12 beta 3,并且正在使用 SwiftUI。
我使用的是 Xcode 11,当我写 print("something") 时,一切都很顺利。升级到 12 beta 3 后,没有打印语句对我有用,也没有显示错误。

我试图了解我在 Xcode 设置中做错了什么,或者可能是一个错误。
任何帮助或建议都可以。

顺便说一句,网络请求没有到达服务器。我相信它之前失败了。服务器工作正常。也许这个信息可以帮助某人。

提前非常感谢!

代码示例:

import Foundation

protocol TodosNetworkServiceProtocol {
    func fetchTodos(includingCompleted: Bool) -> [Todo]
    func update(todo: Todo)
    func add(todo: Todo)
    func toggleIsCompleted(for todo: Todo)
}

// final class means it cant be inharited
final class TodosNetworkService: TodosNetworkServiceProtocol {
    func fetchTodos(includingCompleted: Bool) -> [Todo] {
        guard let todosUrl = URL(string: "http://localhost:5000/todos") else { return [] }
        
        URLSession.shared.dataTask(with: todosUrl) { (data, response, error)  in
            // Here it gets into the if but print nothing.
            if error != nil { print(error) }
            
            guard let data = data else { return }
            
            do {
                let response = try JSONDecoder().decode([Todo].self, from: data)
            } catch let err {
                print(err)
                return
            }
            
        }.resume()
        return []
    }
    
    func update(todo: Todo) {
        print("updating todo")
    }
    
    func add(todo: Todo) {
        print("adding todo")
    }
    
    func toggleIsCompleted(for todo: Todo) {
        print("toggeling todo")
    }
}
4

1 回答 1

0

在此处输入图像描述

在此处输入图像描述

每次运行新版本时,首先启用调试窗口。省去查看 > 调试区域 > ... 或使用键盘快捷键的麻烦。

然后,当调试区域打开时,它会遇到断点。取消选择断点,调试区域将输出您的打印语句

于 2021-03-21T12:02:47.470 回答