创建列表时,以前版本的Xcode允许在iOS上执行以下操作:

List(tabs, selection: $lastTab) {tab in
…
} 

现在出现错误:

'init(_:selection:rowContent:)' is unavailable in iOS

同样适用于

List(tabs, id:\.self, selection: $lastTab)

以及其他变化,例如:

List(selection: $lastTab) {
   ForEach(tabs, id:\.self) {tab in 
...
}

还有其他人遇到过这个问题吗?

推荐答案

你可能忘了 Select Optional,即.

@State private var lastTab: Int? = 0   // << here !! `Int?`

List(tabs, selection: $lastTab) {tab in
// ...
}

验证:Xcode 14b3/iOS 16

Swift相关问答推荐

如何分解阿拉伯字母?

SWIFT闭包使用的是陈旧的值,即使它是S@转义

如何让ScrollView缩小到合适的大小,并在没有黑客攻击的情况下占用最小空间

如何将新事例添加到枚举中?

Swift 扩展:通过方法重载增强现有类

如何在闭包中使用构造 await sync

ConfirmationDialog取消swiftui中的错误

swiftui中服务端图片如何设计view并赋予rotationEffect?

Swift - 订阅视图之外的绑定值

为什么 Apple Scrumdinger Sample App 使用两个事实来源?

自定义选取器的出现导致其他视图重新排列

有什么方法可以快速为泛型参数分配默认值?

异步等待不会在项目中触发,但在 Xcode playground 中工作正常

如何将使用\u{ea12}创建的 Swift 字符串转换回其十六进制值/字符串ea12?

找不到目标AAA的 SPM 工件 - 仅限 Xcode 13.3

在 Swift 中计算两个日期之间的差异

FCM 后台通知在 iOS 中不起作用

UICollectionView 自定义单元格在 Swift 中填充宽度

在 unwind segue 之后执行 push segue

SwiftUI:将多个 BindableObjects 放入环境