2016-01-08 2 views
3

У меня была проблема через 2 недели, поэтому, пожалуйста, позвольте мне задать вопрос.iOS Charts, Swift 2.1.1 Xcode 7.2 похоже не работает,

Ситуация

Xcode 7.2 компании Apple Swift версия 2.1.1 (swiftlang-700.1.101.15 лязгом-700.1.81) https://github.com/yosuke1985/ios-charts

IOS Диаграмма TTPS: //github.com/danielgindi/КСН-графики

Этот код из

TTP: //www.appcoda.com/ios-charts-api-tutorial/

То, что я хочу

Я хочу использовать эту схему, но ошибка EXEC_BAC_ACCESS,

Я только поместить объект окна на ViewController по раскадровке, и подключить в качестве BarChartView класса ,

И хочу показать Гистограмма, Когда я изменить атрибут, «noDataText» и «noDataTextDescription» Он не работает, и не могу понять, ошибка приходит.

barChartView.noDataText = "there is no data" 
    barChartView.noDataTextDescription = "give me the reason" 

Только этот код не работает так, я начинаю думать, что проблема в том, происходит от версии Swift или XCode? Пожалуйста, дайте мне совет, чтобы решить эту проблему.

ошибка

EXEC_BAC_ACCESS ERROR, Screen Shot

import UIKit 
import Charts 

class ViewController: UIViewController { 
var months: [String]! 


@IBOutlet weak var barChartView: BarChartView! 
override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
    barChartView.noDataText = "there is no data" 
    barChartView.noDataTextDescription = "give me the reason" 
    self.months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] 
    let unitsSold = [20.0, 4.0, 6.0, 3.0, 12.0, 16.0, 4.0, 18.0, 2.0, 4.0, 5.0, 4.0] 

    setChart(months, values: unitsSold) 
} 


func setChart(dataPoints: [String], values: [Double]) { 
    barChartView.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: months, dataSet: chartDataSet) 
    barChartView.data = chartData 
} 


override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 


} 
+0

продолжите работу приложения и опубликуйте сообщение об ошибке + трассировку стека здесь. – luk2302

+0

спасибо за комментарий, это ошибка http://i.stack.imgur.com/TwlfT.png – YOSUKE

+0

То есть код ассемблера, никто не сможет помочь вам в этом. – luk2302

ответ

5

решаемая. Вам нужно установить представление класса диаграммы, чтобы раскадровка знала, какой класс инициализируется. Пользовательский класс пуст, что означает, что он будет инициализирован как UIView и будет использоваться как BarChartView. См. http://i.imgur.com/c4tLNjL.png

+0

Большое вам спасибо, мистер Джон, и мне очень неловко спрашивать, как эта основная ошибка ... Ты мой герой – YOSUKE

Смежные вопросы