Код: Выделить всё
@Model
class Order: Decodable {
@Attribute(.unique) var orderId: String
var items: [Item]
}
Код: Выделить всё
var body: some View {
List {
DynamicQuery(orderDescriptor) { orders in
ForEach(orders) { order in
ForEach(order.items) { item in
if let sandwichName = item.data?.sandwichName {
Text(sandwichName)
}
}
}
}
.onReceive(toolbarModel.$selectedDate) { newDate in
print("Date changed to: \(newDate)")
getOrders(ofDate: newDate) { result in
switch result {
case .success:
print("Order Fetch successful for Date \(newDate)")
case .failure(let error):
print("Order Fetch failed with \(error)")
}
}
}
}
Код: Выделить всё
let orders = try JSONDecoder().decode([Order].self, from: jsonData)
for order in orders {
// print(order.items) // crashes the app
modelContext.insert(order)
}
Код: Выделить всё
private var orderDescriptor: FetchDescriptor {
var fetchDescriptor = FetchDescriptor(
predicate: Order.currentOrders(with: toolbarModel.selectedDate),
sortBy: [SortDescriptor(\Order.time)]
)
// fetchDescriptor.relationshipKeyPathsForPrefetching = [\.items]
return fetchDescriptor
}
Подробнее здесь: https://stackoverflow.com/questions/782 ... -swiftdata
Мобильная версия