首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速错误访问代码=2

快速错误访问代码=2
EN

Stack Overflow用户
提问于 2016-06-01 17:32:35
回答 2查看 688关注 0票数 0

我试图创建一个应用程序,在AppleTV视图的2/3上显示纽约时报政治部分的标题,并在另1/3视图的饼图上显示一行图。我编写了两个单独的程序,一个显示标题,另一个显示图表,但当试图组合它们时,我遇到了以下错误

“访问不良”

在队伍里。

代码语言:javascript
复制
pieChartView!.holeColor = UIColor(hue: 0.0111, saturation: 0.15, brightness: 1, alpha: 1.0)
pieChartView!.descriptionText = ""

任何有洞察力的人都将不胜感激,谢谢!

代码语言:javascript
复制
import UIKit
import Charts

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

    @IBOutlet weak var table: UITableView!
    @IBOutlet weak var pieChartView: PieChartView?
    @IBOutlet weak var lineChartView: LineChartView?

    let baseURL = "http://api.nytimes.com/svc/topstories/v1/politics.json?api-key=dd56f74b26c444f497b4588fd2944146"
    var headlines = [String]()
    var bernieSanders = [String]()
    var hillaryClinton = [String]()
    var donaldTrump = [String]()

    var bernieCount: Double = 0.0
    var hillaryCount: Double = 0.0
    var donaldCount: Double = 0.0
    var headlineCount = [Double]()

    override func viewDidLoad() {

        super.viewDidLoad()

        let candidates = ["Sanders", "Clinton", "Trump"]
        self.getJSON()
        sleep(2)
        setChart(candidates,  values: headlineCount)
        sleep(2)
        self.table.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
    }

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

    func getJSON() {

        let url = NSURL(string: baseURL)
        let request = NSURLRequest(URL: url!)
        let session = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration())
        let task = session.dataTaskWithRequest(request){ (data, response, error) -> Void in

            if error == nil {
                let SwiftyJSON = JSON(data: data!)
                let theTitle = SwiftyJSON["results"].arrayValue

                for title in theTitle {
                    let titles = title["title"].stringValue
                    self.headlines.append(titles)

                }

                for headline in self.headlines {
                    if headline.lowercaseString.rangeOfString("sanders") != nil {
                        self.bernieSanders.append(headline)
                    }
                    if headline.lowercaseString.rangeOfString("clinton") != nil {
                        self.hillaryClinton.append(headline)
                    }
                    if headline.lowercaseString.rangeOfString("trump") != nil {
                        self.donaldTrump.append(headline)
                    }
                }

                self.bernieCount = Double(self.bernieSanders.count)
                self.hillaryCount = Double(self.hillaryClinton.count)
                self.donaldCount = Double(self.donaldTrump.count)

                self.headlineCount.append(self.bernieCount)
                self.headlineCount.append(self.hillaryCount)
                self.headlineCount.append(self.donaldCount)

                print("Number Of Headlines That Mention Each Candidate")
                print("Bernie:  \(self.bernieCount)")
                print("Hillary: \(self.hillaryCount)")
                print("Donald:  \(self.donaldCount)\n")
                print(self.headlines)
            }
            else {
                print("there was an error")
            }
        }
        task.resume()
    }



    // From the UITAbleViewDataSource
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return headlines.count
    }
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = self.table.dequeueReusableCellWithIdentifier("cell")! as UITableViewCell
        cell.textLabel!.text = self.headlines[indexPath.row]
        cell.textLabel!.font = UIFont(name:"Avenir", size:25)
        return cell
    }
    // From the UITableViewDelegate
    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        print("You tapped on cell # \(indexPath.row)")
    }

    func setChart(dataPoints: [String], values: [Double]) {

        var dataEntries: [ChartDataEntry] = []

        for i in 0..<dataPoints.count {
            let dataEntry = ChartDataEntry(value: (values[i]), xIndex: i)
            dataEntries.append(dataEntry)
        }

        let pieChartDataSet = PieChartDataSet(yVals: dataEntries, label: "")
        let pieChartData = PieChartData(xVals: dataPoints, dataSet: pieChartDataSet)
        pieChartView!.backgroundColor = UIColor(hue: 0.0111, saturation: 0.15, brightness: 1, alpha: 1.0)
        pieChartView!.holeColor = UIColor(hue: 0.0111, saturation: 0.15, brightness: 1, alpha: 1.0)
        pieChartView!.descriptionText = ""
        pieChartView!.data = pieChartData

        let blue = UIColor(hue: 0.6194, saturation: 1, brightness: 0.89, alpha: 1.0)
        let lightblue = UIColor(hue: 0.5222, saturation: 1, brightness: 0.92, alpha: 1.0)
        let red = UIColor(hue: 0, saturation: 1, brightness: 0.86, alpha: 1.0)
        let colors: [UIColor] = [blue, lightblue, red]

        //        for _ in 0..<dataPoints.count {
        //            let red = Double(arc4random_uniform(256))
        //            let green = Double(arc4random_uniform(256))
        //            let blue = Double(arc4random_uniform(256))
        //
        //            let color = UIColor(red: CGFloat(red/255), green: CGFloat(green/255), blue: CGFloat(blue/255), alpha: 1)
        //            colors.append(color)
        //        }
        //
        pieChartDataSet.colors = colors


        let lineChartDataSet = LineChartDataSet(yVals: dataEntries, label: "NY Times Headlines")
        let lineChartData = LineChartData(xVals: dataPoints, dataSet: lineChartDataSet)
        lineChartDataSet.colors = [NSUIColor(hue: 0.3194, saturation: 1, brightness: 0.66, alpha: 1.0)]
        lineChartDataSet.circleColors = [NSUIColor(hue: 0.3194, saturation: 1, brightness: 0.66, alpha: 1.0)]
        lineChartView!.backgroundColor = UIColor(hue: 0.0111, saturation: 0.15, brightness: 1, alpha: 1.0)
        lineChartView!.descriptionText = ""
        lineChartView!.xAxis.labelPosition = .Bottom
        lineChartView!.data = lineChartData

    }

}
EN

回答 2

Stack Overflow用户

发布于 2016-06-01 18:09:06

正如@vadian建议的那样,我需要相应地设置自定义视图的类。

票数 0
EN

Stack Overflow用户

发布于 2017-06-29 06:28:03

对于那些可能也会陷入这个神秘错误的人来说:我的问题是,我改变了一个插座的类,但是忘记了在Storyboard-View中改变它。在正确声明视图和出口之后,错误就消失了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37575271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档