如何使用斯威夫特4的keyPath在CAShapeLayer动画
问题描述:
如果我写的斯威夫特3码就应该是这样的:如何使用斯威夫特4的keyPath在CAShapeLayer动画
let animation = CABasicAnimation(keyPath: #keyPath(CAShapeLayer.path))
但我试图用斯威夫特4个新语法的keyPath和我:
let keyPath = \CAShapeLayer.path
let animation = CABasicAnimation(keyPath: keyPath) // error line
>错误:无法将类型'ReferenceWritableKeyPath'的值转换为期望的参数类型'String?'
我怎么能在这种情况下,与SWIFT 4使用关键路径?
答
至于现在CABasicAnimation
仍然使用旧的String
keyPaths所以你还是应该使用#keyPath(CAShapeLayer.path)
即使您正在使用雨燕4
苹果可能会更新它的所有的API在将来利用这些安全的关键路径引用。但现在你被卡住了“不安全”的字符串。