Ios 使用变色龙时意外为零';s设置UIView.backgroundColor的结果

Ios 使用变色龙时意外为零';s设置UIView.backgroundColor的结果,ios,swift,chameleon,Ios,Swift,Chameleon,我试图用变色龙来获得类似的颜色。返回的颜色数组不是nil,5个元素中的每个元素也不是nil。但是,代码“tintView.backgroundColor=color”导致“致命错误:在展开可选值时意外发现nil”。第一张图显示了调用Chameleon返回的代码和非nil 5元素数组。第二张图显示了从全局数组复制的变量(缺少数据) 我试过让变色龙使用Swift 4和Swift 4.2。没有区别。我目前的目标是运行IOS 11.4的iPhone 7,我缺少什么?这难道不简单吗 Globals.sw

我试图用变色龙来获得类似的颜色。返回的颜色数组不是nil,5个元素中的每个元素也不是nil。但是,代码“tintView.backgroundColor=color”导致“致命错误:在展开可选值时意外发现nil”。第一张图显示了调用Chameleon返回的代码和非nil 5元素数组。第二张图显示了从全局数组复制的变量(缺少数据)

我试过让变色龙使用Swift 4和Swift 4.2。没有区别。我目前的目标是运行IOS 11.4的iPhone 7,我缺少什么?这难道不简单吗

Globals.swift的相关部分:

  static var companionColors = ColorSchemeOf(.analogous, color: UIColor.flatYellowDark, isFlatScheme: true)
  static var complimentryColor = UIColor(complementaryFlatColorOf:selectedColor)
  static var initialColorName = "Yellow"
  static var selectedColor = UIColor.flatYellowDark {
      didSet {
          companionColors = ColorSchemeOf(.analogous, color: selectedColor, isFlatScheme: true)
          complimentryColor = UIColor(complementaryFlatColorOf:selectedColor)
        }
    }
CommonViewController:

  class CommonViewController: UIViewController {
    @IBOutlet weak var canvas: UIImageView!
    @IBOutlet weak var tintView: UIView!

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func viewDidAppear(_ animated: Bool) {
      super.viewDidAppear(animated)
      let color = Globals.companionColors[1]
      tintView.backgroundColor = color
    }
  }

如前所述,“tintView.backgroundColor=color”行抛出错误。Globals.companyColor包含5个UIDeviceRbColor*类型的元素,带有RGBA值和一个UIColor组件“颜色”是一个NSObject。

尝试删除ViewDidDisplay中的所有内容,并替换为:

var colorArray = NSArray(ofColorsWithColorScheme:ColorScheme.Analogous, with:UIColor.flatRedColor(), flatScheme:true)

tintView.backgroundColor = colorArray[1]

确保变色龙已正确安装和导入。当然,您会将flatRedColor修改为您选择的颜色,但也许可以先尝试一下这段代码,看看它是否有效。我猜Globals中有一个问题,但如果没有看到它的代码,我无法确定。

这不是重复的。我在打开可选包装时理解零。在这种情况下,所讨论的对象都不是零。那么为什么我会得到这个错误呢?这段代码导致了相同的运行时错误。我在原来的帖子中添加了代码。更改“tintView.backgroundColor=UIColor.flatYellowDark”会导致相同的错误。我现在不知所措。我需要到计算机上试着运行代码,但奇怪的是,将背景色设置为flatYellowDark会导致同样的错误。Xcode是否表示该行出现错误?如果是这样,我会尝试清理和重建项目。