Swift 3、 Realm 、图表
<小时/>屏幕上有 DatePicker 和 BarChart
我想要
1) 选择日期 2)索引我的 Realm 数据库 3)绘制条形图
已经有一个 Realm 数据库
<小时/>为了精确索引,我将日期分隔为 YYYY~mm
class ChartsDatas: Object {
dynamic var date: Date = Date()
let dateYYYYFormat = DateFormatter()
let dateMMFormat = DateFormatter()
let dateddFormat = DateFormatter()
let datehhFormat = DateFormatter()
let datemmFormat = DateFormatter()
dynamic var dateYYYY: String = "2000"
dynamic var dateMM: String = "01"
dynamic var datedd: String = "01"
dynamic var datehh: String = "00"
dynamic var datemm: String = "00"
dynamic var count: Double = Double(0.0)
func dateLongToShort(orgDate:Date!){
dateYYYYFormat.dateFormat = "YYYY"
dateYYYY = dateYYYYFormat.string(from: orgDate)
dateMMFormat.dateFormat = "MM"
dateMM = dateMMFormat.string(from: orgDate)
dateddFormat.dateFormat = "dd"
datedd = dateddFormat.string(from: orgDate)
datehhFormat.dateFormat = "hh"
datehh = datehhFormat.string(from: orgDate)
datemmFormat.dateFormat = "mm"
datemm = datemmFormat.string(from: orgDate)
}
并绘图(此方法是绘制最新的十个数据)
var dataEntries: [BarChartDataEntry] = []
let visitorCounts = getVisitorCountsFromDatabase() //read realm DB here
var xAxisCount = visitorCounts.count
if xAxisCount > 10{
xAxisCount = visitorCounts.count - 10
}
for i in xAxisCount..<visitorCounts.count {
let timeIntervalForDate: TimeInterval = visitorCounts[i].date.timeIntervalSince1970
let dataEntry = BarChartDataEntry(x: Double(timeIntervalForDate), y: Double(visitorCounts[i].count))
dataEntries.append(dataEntry)
}
如何修改为根据我选择的日期绘制十个数据
谢谢
最佳答案
我不确定 getVisitorCountsFromDatabase()
中发生了什么,但您可以通过指定日期间隔使用谓词过滤查询结果,请在此处的文档中查看更多信息:https://realm.io/docs/swift/latest/#filtering
关于ios - 如何在swift3中datePicker索引 Realm 并绘制图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42617906/