Swift 类型不能转换为';NativeObject';

Swift 类型不能转换为';NativeObject';,swift,xcode6,Swift,Xcode6,自从我将Xcode更新到版本6 beta 3后,我发现类型不能转换为“NativeObject”错误到处都是。 这只是它抱怨的一个例子: func createPointsToPath(points:[AnyObject]!) -> CGPathRef { let path:CGMutablePathRef = CGPathCreateMutable() CFAutorelease(path) if(points != nil && points.

自从我将Xcode更新到版本6 beta 3后,我发现
类型不能转换为“NativeObject”
错误到处都是。 这只是它抱怨的一个例子:

func createPointsToPath(points:[AnyObject]!) -> CGPathRef {
    let path:CGMutablePathRef = CGPathCreateMutable()
    CFAutorelease(path)

    if(points != nil && points.count > 0){ //this line complains about '[AnyObject]' is not convertible to 'NativeObject'
        var point:CGPoint = (points[0] as NSValue).CGPointValue()
        CGPathMoveToPoint(path, nil, point.x, point.y)

        println("number of elements in the array \(points.count)")
        for index in 1...points.count - 1  {
            point = (points[index] as NSValue).CGPointValue()
            CGPathAddLineToPoint(path, nil, point.x, point.y)
        }
    }
    return path
}
正如代码注释中提到的,它抱怨
“[AnyObject]”不能转换为“NativeObject”
,我在这里检查
点!=无

更新 从Beta 5开始,optionals不再被视为布尔类型,您必须显式地将其与nil进行比较。这个答案已不再有效,但我将它留给子孙后代。当然,由于Swift编译器的神秘性,您的原始代码现在可以与新的更新一起工作

旧的无效答案: 你可以说:

if points && points.count > 0
nil
使用选项计算为false,因此这应该可以工作