为什么只有只有具体类型才能符合协议的数据模型错误

时间:2019-07-28 09:12:33

标签: swiftui

我想将我的数据模型与ContentView分开。所以我用以下代码添加了一个SwiftUI文件:

import SwiftUI
import Combine

class User: BindableObject {
    let willChange = PassthroughSubject<Void, Never>()
    var username : String = "Jan" { willSet { willChange.send() }}
    var password : String = "123456" { willSet { willChange.send() } }
    var emailAddress : String = "jan@mail.nl" { willSet { willChange.send() } }
}

#if DEBUG
struct User_Previews: PreviewProvider {
    static var previews: some View {
        User()
            .environmentObject(User())
    }
}
#endif

我得到的错误是:

Protocol type 'Any' cannot conform to 'View' because only concrete types can conform to protocols

.environmentObject(User())行中发生错误。

1 个答案:

答案 0 :(得分:1)

您不需要使用SwiftUI文件。它是一个必需的简单类。当然,如果您删除下面的代码,它将起作用。

#if DEBUG
struct User_Previews: PreviewProvider {
    static var previews: some View {
        User()
            .environmentObject(User())
    }
}
#endif