编辑:这似乎是Swift或Cocoapods错误。 LinePlot
在Cocoapod中定义。当我将框架代码直接注入到项目中时,一切正常。
编辑2:在configure
,我的plotPoints
数组只有一个值(在调试器中看到)!可能会发生什么?再次,复制粘贴我的框架代码并使用该新对象可以正常工作,我的数组具有其值。
在自定义UIView(LinePlot)上调用方法时,访问不正确。该视图表示为O.K.并分配好,但是调用此方法会产生错误。
我尝试使用调试器并检查tableViewCell的实例数据。
let customView = LinePlot()
public func configure<ViewDataModel>(model withViewData: ViewDataModel) {
guard let viewData = withViewData as? StockPlotViewData else {
fatalError("Wrong type sent to StockPlotCell")
}
contentView.addSubview(customView)
backgroundColor = .blue
setupCustomView()
let plotPoints: [CGPoint] = viewData.points.map { (doublePoint) -> CGPoint in
let (x,y) = doublePoint
return CGPoint(x: x, y: y)
}
customView.configure(withViewData: plotPoints, fillColor: .clear, graphLineWidth: 5.0)
}
我希望可以分配“ LinePlot”,并且可以安全地调用其方法。但是,出现以下错误:
Thread 1: EXC_BAD_ACCESS (code=2, address=0x10c35e750)
在线
customView.configure(withViewData: plotPoints, fillColor: .clear, graphLineWidth: 5.0)