Swift 无法将类型 'CGPath' 的值分配给类型 'CGPath?' 的值

Swift Cannot assign a value of type 'CGPath' to a value of type 'CGPath?'

我正在尝试将 UITextField 的左上角和左下角四舍五入。这是我使用的代码:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    let maskLayer = CAShapeLayer()
    maskLayer.path = UIBezierPath(roundedRect: locationText.bounds, byRoundingCorners: .TopLeft | .BottomLeft, cornerRadii: CGSize(width: 10.0, height: 10.0)).CGPath

    locationText.layer.mask = maskLayer;
}

maskLayer.path = UIBezierPath(roundedRect: locationText.bounds, byRoundingCorners: .TopLeft | .BottomLeft, cornerRadii: CGSize(width: 10.0, height: 10.0)).CGPath

产生错误

Cannot assign a value of type 'CGPath' to a value of type 'CGPath?'

这让我感到困惑,因为我已经能够在代码的其他地方毫无问题地将值设置为可选值。有人可以帮助我了解我做错了什么吗?

如果您使用 swift 2.0 和 Xcode beta,这可能是编译器的一个错误,它试图告诉您应该使用数组来指示角

maskLayer.path = UIBezierPath(roundedRect: self.view.bounds, byRoundingCorners: [.TopLeft, .BottomLeft], cornerRadii: CGSize(width: 10.0, height: 10.0)).CGPath