迅速错误'使用未声明的类型'

时间:2015-06-06 22:10:23

标签: ios swift

我刚刚开始值得快速,所以答案可能就在我面前,但不幸的是我无法看到它。

我在附加的代码中出现错误,该代码显示'使用未声明的类型' line''

所以我想知道你们是否可以通过一些解释指出我正确的方向,这样我就能从错误中吸取教训。这是代码:

import UIKit

class DrawView: UIView {

    var lines: [Line] = []
    var lastPoint: CGPoint!
    var drawColor = UIColor.blackColor()

    override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        self.lastPoint = (touches.anyObject() as UITouch).locationInView(self)
    }
    override func touchesMoved(touches: NSSet, withEvent event: UIEvent)  {
        var newPoint = (touches.anyObject() as UITouch).locationInView(self)
        self.lines.append(Line(start: self.lastPoint, end: newPoint, color: self.drawColor))
        self.lastPoint = newPoint
        self.setNeedsDisplay()
    }
    override func drawRect(rect: CGRect)  {
        var context = UIGraphicsGetCurrentContext()
        CGContextSetLineCap(context, kCGLineCapRound)
        CGContextSetLineWidth(context, 3)
        for line in self.lines {
            CGContextBeginPath(context)
            CGContextMoveToPoint(context, line.startX, line.startY)
            CGContextAddLineToPoint(context, line.endX, line.endY)
            CGContextSetStrokeColorWithColor(context, line.color.CGColor)
            CGContextStrokePath(context)
        }
    }
}

2 个答案:

答案 0 :(得分:1)

这部分代码给出了错误:

var lines: [Line] = []

它发生了,因为Line不是Swift类或类型(或实际上是任何东西),所以它不能在Array中。要让Line被swift所知,你必须为它做一个课程。像这样:

class Line{
     //your class code here
}

答案 1 :(得分:0)

var lines: [Line] = []

你的未申报类型,好吧。什么是线?斯威夫特不知道(如果涉及到这一点,我也不知道。)