본문 바로가기

Swift

Failed to set user defined inspected property 에러 처리

반응형

설명

커스텀 클래스를 만들고 @IBInspectable를 사용하는 경우에 해당됩니다.

 

에러메세지

Failed to set (borderColor) user defined inspected property on (UIButton): [<UIButton 0x7fc160c335d0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key borderColor.

 

Failed to set (borderWidth) user defined inspected property on (UIButton): [<UIButton 0x7fc160c335d0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key borderWidth.

 

에러나는 방법

1. UIButton를 상속받아 커스텀 버튼 생성

2. @IBInspectable를 이용해 커스텀 인스펙터(?) 생성 : borderColor, borderWidth에 대한 지정

3. A 버튼에 1번에서 만든 커스텀 버튼 지정

4. A 버튼에 2번에서 만든 커스텀 인스펙터 지정

5. 위 3번에서 지정했던 커스텀 버튼을 해제하고 기본 UIButton을 사용

 

원인

5번 작업을 하는 경우에 커스텀 버튼은 해제 되었지만 borderColor, borderWidth 에 대한 정보는 그대로 남아있기 때문에 StoryBoard 에서 수작업으로 삭제를 해줘야 합니다.

 

해결방법

1. Identity Inspertor 탭클릭

2. User Defined Runtime Attributes 섹션에 지정된 Key path 값 삭제

반응형