相关疑难解决方法(0)

SwiftUI可选TextField

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不支持它们似乎很奇怪

swiftui

11
推荐指数
4
解决办法
1036
查看次数

如何使用嵌套结构管理 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'

swift swiftui

7
推荐指数
1
解决办法
2860
查看次数

标签 统计

swiftui ×2

swift ×1