我试图在MacOS的SwiftUI中创建一个表,其中包含表中的部分。编译器想让我把它分解成子表达式,但我不明白怎么做。
错误:
编译器无法在合理时间内对该表达式进行类型检查;尝试将表达式分解为不同的子表达式
它发生在这里的ForEach:
var theTable: some View {
ForEach(groupedFlights.keys.sorted()){ key in
Text("DaySequenceNumber: (key)")
Table(groupedFlights[key]){
TableColumn("FLIGHTNO", value: .flightNo)
TableColumn("DATE", value: .date)
TableColumn("FROM", value: .from)
TableColumn("TO", value: .to)
TableColumn("ACREG", value: .acReg)
TableColumn("STD", value: .std)
TableColumn("STA", value: .sta)
}
}
}
private var groupedFlights: [Int: [Flight]] {
Dictionary(grouping: showingFlights, by: .daySequenceNo)
}
Flight类:
import Foundation
import RealmSwift
class Flight: Object, ObjectKeyIdentifiable{
@Persisted(primaryKey: true) var id:ObjectId
@Persisted var flightNo:String
@Persisted var date:String
@Persisted var from:String
@Persisted var to:String
@Persisted var acReg:String
@Persisted var std:String
@Persisted var sta:String
@Persisted var daySequenceNo:Int
@Persisted var crewList:CrewList?
var idString:String{
id.description
}
}
如何分解table ?
我在另一个线程中找到了解决方案:
macOS SwiftUI表超过10列?
所以我添加作为Flight到这行:
Table(groupedFlights[key]! as [Flight]){