SwiftUI文本字段可以与可选绑定一起使用吗?当前此代码:
struct SOTestView : View {
@State var test: String? = "Test"
var body: some View {
TextField($test)
}
}
Run Code Online (Sandbox Code Playgroud)
产生以下错误:
无法将类型'Binding <String?>'的值转换为预期的参数类型'Binding <String>'
有没有办法解决?在数据模型中使用Optionals是一种非常常见的模式-实际上,这是Core Data中的默认设置,因此SwiftUI不支持它们似乎很奇怪
我有以下从 protobufs 生成的结构,所以它们不能直接修改:
// This file can not be modified
// It's auto-generated from protobufs
struct Shelf {
var id: Int
var title: String
var books: [Books]
}
struct Book {
var id: Int
var title: String
var pages: [Pages]
var shelfId: Int
}
struct Page {
var id: Int
var content: String
var bookId: Int
}
Run Code Online (Sandbox Code Playgroud)
在使用 Books+Pages 创建或修改新书架时,在 3 个嵌套的 SwiftUI 视图之间传递状态的正确方法是什么?我希望允许用户通过嵌套视图一次创建整个书架,并在他位于顶部视图并单击“保存”时将书架 + 书籍 + 页面保存到后端一次。
我试图为对象创建一个扩展以符合“ObservableObject”,但失败了:
Non-class type 'Shelf' cannot conform to class protocol 'ObservableObject'