Objective-C에서 Cocoa바인딩을 사용하는 예제를 Swift로 다시 만들어서 실행하면 아래와 같은 오류가 발생합니다.

Can not find object class with name BizModel

이것은 아무래도 컨트롤러에 바인딩한 모델 클래스가 발견되지 않아서 발생하는 것 같습니다.

원인

Swift에서는 심볼명이 함축되어 클래스명만으로는 해당 이름을 찾을 수 없습니다.

대책

모듈명 클래스명을 같이 지정해야 합니다.

예제

Quick Start for Collection View – Mac Developer Library

보통은 아무런 생각없이 다시 작성하지만 Make the Array Controller and the Array클래스명을 지정할 때만 “모듈명.BizModel”이라고 해야 합니다. 또는 클래스(@objc)를 붙이면 클래스명만 처리하면 됩니다.

[swift]

@objc(BizModel)

class BizModel : NSObject {

}

[/swift]

참고

Swift – “Cannot find object class with name” – Stackoverflow

 

Facebook Comments

You may be interested

Gif 애니메이션으로 로딩 구현하기
Swift 3.0
shares5 views
Swift 3.0
shares5 views

Gif 애니메이션으로 로딩 구현하기

MJ Kim - 5월 24, 2017

이번에는 MBProgressHUD 라이브러리와 FLAAnimatedImage 라이브러리를 사용하여 gif 애니메이션을 사용하는 방법을 정리해본다. Cocoapods를 사용하여 라이브러리를 추가해도 되고 Carthage를 사용해서 추가해도 된다.…

Bluetooth기반 iOS기기로 통신하기
Swift 3.0
shares4 views
Swift 3.0
shares4 views

Bluetooth기반 iOS기기로 통신하기

MJ Kim - 5월 23, 2017

제 블로그에 관심이 있는 분이 블루투스를 사용한 방법을 알려달라고 하셔서 좀더 이해하기 쉬운 방법을 고민해서 한가지 팁을 공유합니다. 블루투스(Bluetooth)로 1대1로…

Apple지도 및 구글지도 앱을 여는 방법
Swift 3.0
shares6 views
Swift 3.0
shares6 views

Apple지도 및 구글지도 앱을 여는 방법

MJ Kim - 5월 16, 2017

지도 중심에 핀을 넣기 특정 지점에서 특정지점 루트를 표시하기  Apple 지도 앱 지도 중심에 핀세워서 위치 표시 [crayon-592527959b585642399937/] 경로 표시…