gpt4 book ai didi

swift - 传递给泛型函数时如何访问@Published 属性的包装值

转载 作者:行者123 更新时间:2023-12-04 00:19:44 24 4
gpt4 key购买 nike

当我传递一个声明为 @Published 的属性时对于通用函数,我收到一个关于已发布值的错误。在我使用变量的其他任何地方都很好,只是在传递到泛型函数时不行。

错误:

error: cannot convert value 'user' of type 'User?' to expected type 'Published<User?>.Publisher?', use wrapper instead

这是操场代码:

struct User {}

class Test {
@Published var user: User?
}

func normalFunc(_ argument: User?) -> User? {
return argument
}

func genericFunc<T>(_ argument: T?) -> T? {
return argument
}

let test = Test()
normalFunc(test.user) // Ok
genericFunc(test.user) // Error

我能做的最好的事情就是将值括在括号中,如下所示:
genericFunc((test.user)) // Ok!

最佳答案

这是一个已确认的错误,已通过 https://github.com/apple/swift/pull/30129 修复。

关于swift - 传递给泛型函数时如何访问@Published 属性的包装值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58514673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com