IBDesignable, IBInspectable 오류로 인한 중독
입문
Xcode6에서 추가된 InterfaceBuilder(이하 IB) 기능인 IBDesignable와 IBInspectable를 사용해 보았습니다. 빠져드는 오류가 있어서 공유하고 싶습니다.
IBDesignable 및 IBInspectable 정보
오류 내용 Failed to set (myKey) user defined inspected property on (MyApp.MyClass):
[<MyApp.MyClass 0x7fc1315478c0> setValue:forUndefinedKey:]:
this class is not key value coding-compliant for the key myKey.
this class is not key value coding-compliant for the key myKey.
에 대한 오류는 관련 속성을 편집, 삭제할 때 거의 스토리보드에 오래된 관련을 보존하는 오류입니다.
이런 상황에서 스토리보드에서 옛 연관된 속성 등을 삭제하면 해결된다.
이번에는 Failed to set (myKey) user defined inspected property on(MyApp.MyClass):
오류, IBInspectable 속성 오류입니다.
경고 부분에서 다음 메시지~/Main.storyboard: warning: IB Designables:
Ignoring user defined runtime attribute for key path "myKey" on instance of "MyApp.Myclass".
Hit an exception when attempting to set its value: [<MyApp.Myclass 0x7fb51b0104c0> setValue:forUndefinedKey:]:
this class is not key value coding-compliant for the key myKey.
해결 방법
나는 이 오류의 해결 방법이 상황에 따라 다르다고 생각하지만, 원인은 자신의 상황에서 접근 제어가 있기 때문이다private
. @IBInspectable private var myKey: Int {
didSet {
}
}
일반적으로 이것은 당연한 일이지만 IB Inspectable의 속성을 private
로 설정해도 IB는 정상적으로 값을 설정할 수 있다.그래서 간단한 문제를 알아차리지 못하고 실험을 반복했다.
정상적인 상황에서 액세스 레벨을 수정하면 정상적으로 작동합니다.
액세스 수준이 public
또는 internal
인 경우 문제 없음
(액세스 수준을 명확하게 지정하지 않으면 자동으로 internal
@IBInspectable var myKey: Int {
didSet {
}
}
Reference
이 문제에 관하여(IBDesignable, IBInspectable 오류로 인한 중독), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shoheiyokoyama/items/b1906722a16b9e7c1df1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Failed to set (myKey) user defined inspected property on (MyApp.MyClass):
[<MyApp.MyClass 0x7fc1315478c0> setValue:forUndefinedKey:]:
this class is not key value coding-compliant for the key myKey.
~/Main.storyboard: warning: IB Designables:
Ignoring user defined runtime attribute for key path "myKey" on instance of "MyApp.Myclass".
Hit an exception when attempting to set its value: [<MyApp.Myclass 0x7fb51b0104c0> setValue:forUndefinedKey:]:
this class is not key value coding-compliant for the key myKey.
나는 이 오류의 해결 방법이 상황에 따라 다르다고 생각하지만, 원인은 자신의 상황에서 접근 제어가 있기 때문이다
private
. @IBInspectable private var myKey: Int {
didSet {
}
}
일반적으로 이것은 당연한 일이지만 IB Inspectable의 속성을 private
로 설정해도 IB는 정상적으로 값을 설정할 수 있다.그래서 간단한 문제를 알아차리지 못하고 실험을 반복했다.정상적인 상황에서 액세스 레벨을 수정하면 정상적으로 작동합니다.
액세스 수준이
public
또는 internal
인 경우 문제 없음(액세스 수준을 명확하게 지정하지 않으면 자동으로
internal
@IBInspectable var myKey: Int {
didSet {
}
}
Reference
이 문제에 관하여(IBDesignable, IBInspectable 오류로 인한 중독), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shoheiyokoyama/items/b1906722a16b9e7c1df1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)