gpt4 book ai didi

swift - 无法将 CGFloat 类型的值分配给 CGFloat 类型的值

转载 作者:搜寻专家 更新时间:2023-10-30 21:55:31 26 4
gpt4 key购买 nike

尝试设置 CAShapeLayer 的 zPosition 时出现错误。这是代码:

self.view.layer.sublayers[l].zPosition = CGFloat(1)

出于某种原因,我收到此错误:无法将 CGFloat 类型的值分配给 CGFloat 类型的值!。出于某种原因,错误是可选的。我在网上看到其他示例没有任何转换 (zPosition = 1),所以我不知道这里的问题是什么。

谢谢!

最佳答案

CALayersublayers 属性定义为[AnyObject]!。当您下标为 ...sublayers[l] 时,您会得到一个 AnyObject,可以肯定的是,它没有 zPosition 的可设置属性>。您需要将返回的 AnyObject 向下转换为 CALayer,例如

if let layer = self.view.layer.sublayers[l] as? CALayer {
layer.zPosition = CGFloat(1)
}

此外,您不需要解包 sublayers(在下标之前),因为它是用 ! 声明的,因此会隐式地自动解包。

最后,您引用的错误消息似乎是错误复制的,因为它毫无意义。

关于swift - 无法将 CGFloat 类型的值分配给 CGFloat 类型的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29707071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com