Chart {
ForEach(transactions) { item in
if item.type == "Gider" || item.type == "Expense" {
BarMark(
x: .value("Category", item.category ?? ""),
y: .value("Amount", item.amount)
)
}
}
}
.frame(width: 300, height: 300)
.padding()
事务类别应该用本地化翻译,但它没有。我不能使用LocalizeStringKeys(),它给了我那个错误-〉初始化器'init(x:y:width:height:stacking:)'要求'LocalizedStringKey'符合'Plottable'。
我使用核心数据。
@FetchRequest(sortDescriptors:[SortDescriptor(\.date, order:.reverse)])
private var transactions: FetchedResults<Transaction>
这是我的获取请求
我正在使用新的库图表,而不是SwiftUICharts。
1条答案
按热度按时间nzrxty8p1#
可以将
String
与构造函数https://developer.apple.com/documentation/swift/string/init(localized:defaultvalue:table:bundle:locale:comment:)一起使用,其中将Transaction.category作为键UPD:
另外,确保你的字符串键中没有使用空格。下面是一个正确的键的例子:
以及它在项目中的设置
https://github.com/willdale/SwiftUICharts-Demo/blob/253ed6dd61dde1034f72c07282e3966fb39a7cae/Shared/Views/ChartViews/Other/LocalizationDemoView.swift#L106