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.
是否有可能知道這個屬性這樣沒有崩潰存在應用程序?
添加一些截圖以瞭解更多關於此問題的信息 –