0
我有用于添加渐变图层的UIView扩展。 我知道我无法在扩展中创建类型CAGradientLayer
(或任何其他类型...)的存储属性,所以我想在UIView本身中创建gradientLayer属性(在扩展中为no)并检查如果该属性存在,则在扩展中。 于是我问:Swift - 通过名称获取属性crashForUndefinedKey错误
extension UIView
{
private var gradientLayer:CAGradientLayer?
{
return value(forKey: "gradientLayer") as? CAGradientLayer
}
func addGradient()
{
guard gradientLayer != nil else
{
return
}
// do something with the layer
}
}
当此属性存在,一切都很好,但在其他方面有错误的程序崩溃:
valueForUndefinedKey:]: this class is not key value coding-compliant for the key gradientLayer.
是否有可能知道这个属性这样没有崩溃存在应用程序?
添加一些截图以了解更多关于此问题的信息 –