无法调用非函数类型'对象'的值?

时间:2016-12-06 08:13:10

标签: ios arrays swift3

我知道这个问题在几次之前被问过,但我没有得到它。 这是我的代码:

override func viewDidLoad() {
    super.viewDidLoad()

    // Fetch colors
    let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Color")

    let sortDescriptor = NSSortDescriptor(key: "number", ascending: false)
    fetchRequest.sortDescriptors = [sortDescriptor]

    do {
        let colors = try managedObjectContext!.fetch(fetchRequest) as! [Color]

        for var i in 0...4 {
            let saveColorBtn = UIButton(frame: CGRect(x: i * 70 , y: Int(self.view.frame.maxY - 120), width: 50, height: 50))
            saveColorBtn.tag = i

            if let savedColor = colors.first(where: {$0.number == i}) {
                saveColorBtn.backgroundColor = UIColor(red: CGFloat(savedColor.r), green: CGFloat(savedColor.g), blue: CGFloat(savedColor.b), alpha: CGFloat(savedColor.a))
            } else {
                saveColorBtn.backgroundColor = .lightGray
            }

            self.view.addSubview(saveColorBtn)
        }
    } catch let error as NSError
    {
        NSLog("Unresolved error \(error), \(error.userInfo)")
    }
}

当我搜索$ 0.number == 0时,它工作正常,但是当我搜索$ 0.number == i时,我收到错误“无法调用非函数类型的值'颜色?'”

“colors”是一个包含“color”类型对象的数组

0 个答案:

没有答案