代码之家  ›  专栏  ›  技术社区  ›  David Kramf

Swift警告信息不清楚

  •  0
  • David Kramf  · 技术社区  · 7 年前

    你能给我解释一下这个警告信息是什么意思吗?

    let x = cell.backgroundView!.layer.sublayers as! [CALayer]
    

    从“[CALayer]?”强制施放到“[CALayer]”仅展开可选项;你想用“!”吗?

    1 回复  |  直到 7 年前
        1
  •  2
  •   rmaddy    7 年前

    使用强制投射没有任何意义。 sublayers 返回可选数组。您应该安全地展开可选阵列。

    if let sublayers = cell.backgroundView?.layer.sublayers {
        // do something with sublayers (which is a non-optional [CALayer])
    }
    

    还要注意使用 ? 之后 backgroundView 而不是 ! .

    请花时间阅读 relevant sections 在Swift手册中。否则,你的应用程序将崩溃。看见 What does "fatal error: unexpectedly found nil while unwrapping an Optional value" mean? 获取有关该结果的许多详细信息。