-
Xib(Nib)으로 outlet변수를 연결할 때, 크래시가 발생하는 현상I'm a Developer/iOS & macOS 2020. 1. 15. 08:06
iOS에서 커스텀 뷰를 사용하기 위해 Xib를 많이 사용하실텐데 이런 에러 많이 접하셨을 거에요.
reason: '[<newsum.###### 0x105dc1a88> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key ****.'
여기서 ###### 은 해당 커스텀 View의 클래스 이름이고
****은 잘못 연결된 outlet변수입니다.
이 에러는 결과적으로 UILabel의 outlet을 잘못된 녀석이 소유하게 되어 발생하는 것입니다.
그래서 실제 CustomView에 연결이 안되었기 때문에 이런 에러가 발생하게 됩니다.
자 이제부터 해결해볼게요.
UILabel의 outlet을 먼저 코드에 연결시켜보겠습니다.
그럼 위 그림과 같이 뜰거에요
File's Owner가 sectionLabel이라는 변수를 가지고 있는 객체가 됩니다.
Object에 Files' Owner라고 되어있죠.
이게 Object가 상위 View가 되어야합니다.
여기서는 SettingCategoryHeader가 되겠죠.
그럼 다시 연결해볼게요.
위 그림처럼 오른쪽 outlet변수에서에서 끌어다가 왼쪽 xib에 있는 UILabel 위에 놓아볼게요.
그럼 Object를 선택할 수 있게 됩니다.
그리고 UILabel을 우클릭해보면 소유하고 있는 Object가 CustomView 클래스로 바뀌었습니다.
그리고 실행하면 정상적으로 동작합니다.
'I'm a Developer > iOS & macOS' 카테고리의 다른 글
[iOS] SceneDelegate/UISceneSession 가장 깔끔하게 없애는 방법 - 'UISceneSession' is only available in iOS 13.0 or newer (1) 2020.02.04 API Timeout 처리 (with. RxSwift) (0) 2020.01.15 [CocoaPods Library pod repo push 에러] The validator used Swift 3.2 by default because no Swift version was specified. (0) 2019.04.04 Git 초기 설정하기. (iOS 앱개발 프로젝트) (4) 2018.05.07 Outlet 변수와 Action 메소드 명 바꾸기 팁 (0) 2018.04.09