Ios 如何使用SwiftUI在CoreData中使用ForEach中的关系?
该问题已通过“黑客Wift”网站解决 只需按照链接上的步骤操作即可! "https://www.hackingwithswift.com/books/ios-swiftui/one-to-many-relationships-with-core-data-swiftui-and-fetchrequest" 原始询问 我想使用[关系]的元素Ios 如何使用SwiftUI在CoreData中使用ForEach中的关系?,ios,swift,core-data,swiftui,relationship,Ios,Swift,Core Data,Swiftui,Relationship,该问题已通过“黑客Wift”网站解决 只需按照链接上的步骤操作即可! "https://www.hackingwithswift.com/books/ios-swiftui/one-to-many-relationships-with-core-data-swiftui-and-fetchrequest" 原始询问 我想使用[关系]的元素 但不管我怎么做,都没有用。 有些东西,我错过了,遗憾的是,直到现在我还不知道会是什么:/ 首先,我想展示我的核心数据模型和代码 实体:页面,属性:名称(字符
但不管我怎么做,都没有用。
有些东西,我错过了,遗憾的是,直到现在我还不知道会是什么:/ 首先,我想展示我的核心数据模型和代码 实体:页面,属性:名称(字符串),关系:toCard
实体:卡片,属性:标题(字符串),价格(双精度),关系:toPage 场景:页面有多张卡
一对多(一页对多张卡片)
Xcode不显示卡的属性,因为它们不匹配。
我怎样才能修好它 卡的数据已保存在关系中(代码如下)
我在这个很棒的“HackingWithWift”网站的帮助下解决了这个问题!只需按照链接上的步骤操作即可 编辑:
public var wrappedName: String {
name ?? "Unknown Title"
}
public var cardArray: [Card] {
let set = toCard as? Set<Card> ?? []
return set.sorted {
$0.wrappedTitle < $1.wrappedTitle
}
}
public var wrappedTitle: String {
title ?? "Unknown Title"
}
public var wrappedPrice: Double {
price
}
不允许仅链接答案。请在答案中张贴相关代码,以便其他人可以从中受益。随着时间的推移,链接会断开
ForEach(Array(whichPage.toCard! as Set), id: \.self) { item in
CardView(price: item.price, title: item.title ?? "Unknown")
}
let card = Card(context: self.moc)
card.title = self.title
card.price = self.doubleValue
selectedPage?.addToToCard(card)
public var wrappedName: String {
name ?? "Unknown Title"
}
public var cardArray: [Card] {
let set = toCard as? Set<Card> ?? []
return set.sorted {
$0.wrappedTitle < $1.wrappedTitle
}
}
public var wrappedTitle: String {
title ?? "Unknown Title"
}
public var wrappedPrice: Double {
price
}
ForEach(pages, id: \.self) { page in
if whichPage == page {
ForEach(page.cardArray, id: \.self) { card in
VStack {
CardView(price: card.wrappedPrice, title: card.wrappedTitle)
}
}
}
}