作者ray3518i (RAY3518I)
看板MacDev
标题Re: [问题] 蓝牙传值绘曲线图
时间Fri Nov 20 19:40:57 2015
※ 引述《ray3518i (RAY3518I)》之铭言:
: 大家好, 我是刚接触iOS使用Swift开发不到半年的新手
: 为了研究的需要目前正在写一个透过蓝牙收取sensor资料并分析的app
: 由於没有什麽程式设计的背景, 所以有些观念不是非常的了解
: 因此想请问大家
: 目前我已经可以透过蓝牙收到sensor所传送的data
: 若我想将收到的值传到UIView里的drawrect方法, 做即时性的曲线绘图应该要怎麽做呢?
: 绘图的部分我几乎都是参照网路上的教学, 但似乎都是在读取View时就将图案画出来
: 虽然有看到一个setNeedsDisplay的方法, 但还是不太知道怎麽使用...
: 还请麻烦大家帮我解惑!
: 非常感谢!
谢谢大家的回应,目前我是使用了CorePlot去绘图
目前遇到了绘图上的一些问题...
由於我的收data指令和画图是写在不同的class当中
当我在BluetoothManager的class中要呼叫MainController的画图function时
我的程式码如下
class BluetoothManager: NSObject {
func dataReceiving(value: [Int]){
for (var m=0 ; m<5 ; m++){
dataOne[m] = value[2*m]
dataTwo[m] = value[2*m+1]
}
MainController().plot(dataOne: [Int], dataTwo: [Int])
}
class MainController: UIViewController,CPTScatterPlotDataSource {
@IBOutlet weak var graphView: CPTGraphHostingView!
private var scatterGraph : CPTXYGraph? = nil
typealias plotDataType = [CPTScatterPlotField : Double]
private var dataForPlot = [plotDataType]()
func plot(dataOne: [Int], dataTwo: [Int]){
let newGraph = CPTXYGraph(frame: CGRectZero)
graphView.hostedGraph = newGraph
...
}
}
在执行到 graphView.hostedGraph = newGraph 时
就会出现fatal error: unexpectedly found nil while unwrapping an Option Value
请问大家这要怎麽解决呢?十分感谢!!!!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.114.14.138
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1448019662.A.FBE.html
1F:推 darktt: 你要用if let graphView = self.graphView {} 来避免 gr 11/20 20:18
2F:→ darktt: XaphView 是 nil 的情况 11/20 20:18
3F:→ ray3518i: darktt大,但我加上判断式之後,里面的内容就不会执行了 11/20 20:29
4F:→ ray3518i: 是不是我用MainController().plot这个方法不对? 11/20 20:30
5F:推 darktt: 你用的曲线图的Code也太老了,建议改用JBChartView 11/21 07:06
6F:推 gradyzhuo: 请去查一下ViewController怎麽用还有怎麽跟Storyboard 11/26 20:05
7F:→ gradyzhuo: 户动 之类的,只能说,你的需求,MainViewController() 11/26 20:05
8F:→ gradyzhuo: 直接就是不对的 11/26 20:05