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

모바일 앱 아키텍처
Swift
shares24 views
Swift
shares24 views

모바일 앱 아키텍처

MJ Kim - 4월 22, 2017

이 내용은 나름대로 개발해본 내용을 토대로 정리해본 모바일 앱 아키텍처에 대한 내용이다. 이를 정리한 이유는 오래된 아키텍처부터 최근 아키텍처까지 정리해보고…

시간차를 얻는 Date Extension
Swift 3.0
shares6 views
Swift 3.0
shares6 views

시간차를 얻는 Date Extension

MJ Kim - 4월 12, 2017

사용자가 남길 내용에 대한 시간표시를 할 때 일정한 시간차를 표현해주는 경우가 있어 이에 대한 Date Extention을 정리해 보았다. [crayon-58fda8c081054888669363/]  

Swift 3.1에서 없어진 문법 정리
Swift 3.0
shares34 views
Swift 3.0
shares34 views

Swift 3.1에서 없어진 문법 정리

MJ Kim - 3월 31, 2017

Swift언어는 무엇인가 나올때마다 없어지는 것들이 있어, Swift 3.1에서 컴파일할 수 없게 된 문법내용을 정리했다. switch문을 사용하여 enum에서 protocol을 여러가지 패턴으로…