微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从表格视图单元格中获取核心数据以绘制图表

如何解决从表格视图单元格中获取核心数据以绘制图表

我正在尝试为用户创建一个包含临床评估问卷的健康应用,以跟踪他们的症状:疲劳、疼痛和情绪。
我正在使用核心数据模型将问卷中的输入保存到表格视图中。现在我想将这些输入分别绘制成每个症状的图形。当我尝试绘制它时,只能从核心数据中获取表格视图中的最新条目并进行绘制。

如何从每个表格视图单元格中获取数据?

用于获取核心数据的代码

    var lineChart = LineChartView()
override func viewDidLoad() {
    fetchday1()
    super.viewDidLoad()
    lineChart.delegate = self
}
func fetchday1()
    {
        let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
        let request = NSFetchRequest<NSFetchRequestResult>(entityName: "SDA")
        do {
            let results:NSArray = try context.fetch(request) as NSArray
            for result in results {
                let sda = result as! SDA
                Sdalist.append(sda)
        
                S1 = sda.value(forKey: "sda1") as! String
                S2 = sda.value(forKey: "sda2") as! String
                S3 = sda.value(forKey: "sda3") as! String
            }
        } catch {
            print("Failed")
        }
    }

用于绘图的代码

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    
    lineChart.frame = CGRect(x:0,y:0,width: self.view.frame.size.width,height: self.view.frame.size.width)
    
    lineChart.center = view.center
    view.addSubview(lineChart)
    
    var entries = [ChartDataEntry]()
    
    let Int1 = Int(S3) ?? 0
    let Int2 = Int(S2) ?? 0
    let Int3 = Int(S3) ?? 0
    
    entries.append(ChartDataEntry(x: 1.0,y: Double(Int1)))
    entries.append(ChartDataEntry(x: 2.0,y: Double(Int1)))
    entries.append(ChartDataEntry(x: 3.0,y: Double(Int1)))
}

UI of the table view

.xcdatamodel file

Responses for one table view cell

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。