0
これは私の最初のアプリです。私はチャートフレームワークを使用して、タブ付きアプリケーションに2つの異なるチャートを表示しています。私は私のアプリケーションを実行すると最初のビューとグラフが円滑に実行されますが、ビューをロードしようとすると、私はexc_bad_accessエラーが表示されます。私はこのエラーは一般的にメモリの問題に関係していることを知っています。だから私はゾンビを有効にして、分析ツールを実行し、まだ何も思い付きませんでした。私はsetChartでエラーが発生し、setChart関数が実行された直後にエラーが発生します。どんな助けでも大歓迎です。ここチャートフレームワークを使用して2番目のチャートをロードするときにexc_bad_accessを取得しています
はコードです:
@IBOutlet weak var yourRankRetailLabel: UILabel!
@IBOutlet weak var barChartView2: BarChartView!
var employee: [String]!
var currentRank = ""
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
DataService.dataService.CURRENT_USER_REF.observeEventType(FEventType.Value, withBlock: { snapshot in //snap
let rank = snapshot.value.objectForKey("rankretail") as! String
self.yourRankRetailLabel.text = "You were ranked \(rank) in service sales last week!"
self.currentRank = rank
}, withCancelBlock: { error in
print(error.description)
})//snap
employee = ["1491", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
let unitsSold = [5.0, 4.0, 6.0, 3.0, 12.0, 16.0, 4.0, 18.0, 2.0, 4.0, 5.0, 4.0]
setChart(employee, values: unitsSold)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func setChart(dataPoints: [String], values: [Double]) {
barChartView2.noDataText = "You need to provide data for the chart."
var dataEntries: [BarChartDataEntry] = []
for i in 0..<dataPoints.count {
let dataEntry = BarChartDataEntry(value: values[i], xIndex: i)
dataEntries.append(dataEntry)
}
let chartDataSet = BarChartDataSet(yVals: dataEntries, label: "Units Sold")
let chartData = BarChartData(xVals: employee, dataSet: chartDataSet)
barChartView2.data = chartData
私はすべての私の参照をチェックし、すべてがまだ接続されています。また、barChartView2がStrong変数であることを伝えたコードでは、私はそれを欲求不満から外しましたが、それ以来、それを弱い変数に戻しました – Taylor