tabs - Xcode 11 Beta 4 TabbedView 绑定问题
问题描述
环境:版本 11.0 beta 4 (11M374r)
我试图掌握不断发展的 List() 语法。
下面是一个简单的 UUID 列表:
这是我尝试的补救措施和编译器结果。
在修复之前的警告后,我创建了一个额外的错误:
我尝试用“@Binding”替换“@State”;这没有用。
这是完整的源代码:
import SwiftUI
enum TabIdentifier {
case list
case another
}
struct TabView: View {
private var uuids: [String] = {
let ids: [String] = Array(0...5).map { _ in
UUID().uuidString
}
return ids
}()
@State private var selectedTab: TabIdentifier = .list
var body: some View {
TabbedView(selection: $selectedTab) {
// ------------------------------------------------------------
// Tab #1
NavigationView {
List(uuids, id: \.id) { uuid in
Text(uuid)
}.navigationBarTitle(Text("List of UUIDs"))
}.tabItem {
Text("List") // ...Tab #1 Label
}
.tag(TabIdentifier.list) // ...Tab #1 tag
// ------------------------------------------------------------
// Tab #2
Text("Hello Ric!")
.tabItem {
Text("Another view") // ...Tab #2 Label
}
.tag(TabIdentifier.another) // ... Tab #2 Label
}
}
}
有什么补救措施?
解决方案
这是一个误导性错误。我很确定你的问题只是一个错字。应该是List(uuids, id: \.self)
,不是List(uuids, id: \.id)
。根据您的代码,uuids
它只是一个字符串数组,String
没有属性id
。
推荐阅读
- html - 带有 [背景] 图像的两个部分上的波浪边框分隔符
- python - urlopen 没有从网络获取所有数据(python)
- html - 图片显示问题
- bash - GoCD 在管道上运行 bash 脚本
- sql - 重命名 SELECT 查询中的所有表
- python - 在 python dbf 中使用特殊字符定义字段名称,例如 ^
- ios - 具有清晰背景和彩色 contentView 的 UITableViewCell
- docker - 复制 。. 在 dockerfile
- javascript - Web Audio API 将单声道拆分为立体声
- mysql - MySQL INSERT with SELECT UNION 给出语法错误