提问人:Darko 提问时间:6/29/2023 更新时间:6/30/2023 访问量:176
Swift 协议与异步重载的一致性
Swift protocol conformance with async overload
问:
为什么它能成功编译和运行?(斯威夫特 5.8)
protocol AsyncOverloaded {
func load()
func load() async throws
}
class MyClass: AsyncOverloaded {
func load() {
print("load called")
}
}
let myClass = MyClass()
myClass.load()
// prints "load called"
据我了解,实际上不符合协议.MyClass
AsyncOverloaded
提前致谢。
答:
3赞
JeremyP
6/30/2023
#1
中的函数满足这两个协议要求。load()
MyClass
非投掷函数满足投掷函数的要求,因为它就像一个从未实际投掷的投掷函数。同样,同步函数也可以满足要求。async
评论
0赞
Darko
7/1/2023
谢谢。你有这方面的参考吗?一些文档?
评论
try await myClass.load()