【发布时间】:2020-07-22 17:26:47
【问题描述】:
这里是初级程序员。
如果该日期有负交易和正交易,我会尝试显示两个不同颜色的点。
这是我的代码。它只显示一个点。
func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int {
let incomeTransaction = realm.objects(Transaction.self).filter(positiveTransactionPredicate(date: date))
let expenseTransaction = realm.objects(Transaction.self).filter(negativeTransactionPredicate(date: date))
for _ in incomeTransaction {
return 1
}
for _ in expenseTransaction {
return 1
}
return 0
}
func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, eventDefaultColorsFor date: Date) -> [UIColor]? {
let incomeTransaction = realm.objects(Transaction.self).filter(positiveTransactionPredicate(date: date))
let expenseTransaction = realm.objects(Transaction.self).filter(negativeTransactionPredicate(date: date))
for _ in incomeTransaction {
return [UIColor(rgb: Constants.green)]
}
for _ in expenseTransaction {
return [UIColor(rgb: Constants.red)]
}
return nil
}
这段代码显示了两个点,但它们的颜色相同:
func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int {
let incomeTransaction = realm.objects(Transaction.self).filter(positiveTransactionPredicate(date: date))
let expenseTransaction = realm.objects(Transaction.self).filter(negativeTransactionPredicate(date: date))
for _ in incomeTransaction {
return 2
}
for _ in expenseTransaction {
return 2
}
return 0
}
如何告诉 FSCalendar 委托方法在日期上显示两个不同颜色的点?
像这样:
谢谢。
【问题讨论】:
-
不清楚您的要求或实际问题是什么。您是在问如何一般显示两个点,或者如何从 Realm 读取数据或执行计算,或者究竟是什么?您能否更新并澄清问题并具体告诉我们问题所在?
-
@jay 我已经更新了这个问题。我只想要一些显示日期的两个不同颜色点的示例代码。如果我能看到如何做到这一点,我应该能够弄清楚一切。谢谢。
标签: swift realm nspredicate fscalendar