Swift 类型[NSNumber]没有下标成员

Swift 类型[NSNumber]没有下标成员,swift,Swift,我试图为渐变类创建一个泛型类,但我得到了这个错误。 如有任何帮助,敬请解释 import UIKit @IBDesignable class GradientView: UIView { @IBInspectable var FirstColor: UIColor = UIColor.clear{ didSet{ updateView() } } @IBInspectable var SecondColor: U

我试图为渐变类创建一个泛型类,但我得到了这个错误。 如有任何帮助,敬请解释

import UIKit

@IBDesignable
class GradientView: UIView {

    @IBInspectable var FirstColor: UIColor = UIColor.clear{
        didSet{
            updateView()
        }
    }
    @IBInspectable var SecondColor: UIColor = UIColor.clear{
        didSet{
            updateView()
        }
    }
    override class var layerClass: AnyClass{
        get{
            return CAGradientLayer.self
        }
    }
    func updateView(){
        var layer  = self.layer as! CAGradientLayer

            layer.colors[FirstColor.cgColor, SecondColor.cgColor]
            layer.locations[NSNumber[0.5]]  
    } 
}
我得到了这两行中的错误-

layer.colors[FirstColor.cgColor, SecondColor.cgColor]
layer.locations[NSNumber[0.5]]

你错过了等号:

layer.colors = [FirstColor.cgColor, SecondColor.cgColor]
layer.locations = [NSNumber(value: 0.5)]

NSNumber有一个接受双精度的初始化器,但是您错误地使用了方括号,这表示试图访问下标成员

layer.locations[NSNumber[0.5]]
更改为
layer.locations[NSNumber(值:0.5)]