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()) 行中发生错误。
解决方案
您不需要使用 SwiftUI 文件。它是一个简单的类,是必需的。当然,如果您删除下面的代码,它将起作用。
#if DEBUG
struct User_Previews: PreviewProvider {
static var previews: some View {
User()
.environmentObject(User())
}
}
#endif
推荐阅读
- canvas - 在 Konvajs 中更改宽度和大小而不是 scaleX 和 scaleY
- python - 了解 Blender 中的矩阵运算
- powerbi - Power BI - 计算已关闭的滚动项
- c# - 每个接口或每个实现创建一个完整的测试套件
- ios - 如何从 Swift String 中的奇数索引中删除字符
- google-cloud-platform - Firebase 权限被拒绝
- matlab - 如何在 Matlab 中选择要使用滑块绘制的数据?
- php - wordpress 简单的工作板插件隐藏简历附件表单
- java - 无法从浏览器访问 localhost:8080 公用文件夹(java spring boot)
- android - 如果我发布具有不同应用标题的更新,该应用是否会在 Google Play 商店中处于非活动状态?