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

Xcode 기능 확장(Extension) 제거하기
Xcode
shares3 views
Xcode
shares3 views

Xcode 기능 확장(Extension) 제거하기

MJ Kim - 3월 18, 2017

Mac에서 Xcode Source Editor Extension등의 기능확장을 사용하다보면 디버깅시 시스템 환경 설정의 확장이 앱에 등록되는 경우가 있다. 계속해서 목록이 남아 있기…

iOS App Store Review(앱 심사약관) 번역
Swift 3.0
shares115 views
Swift 3.0
shares115 views

iOS App Store Review(앱 심사약관) 번역

MJ Kim - 3월 15, 2017

App Store Review를 번역했다. 사실 이번에 좀 애매한 리젝을 당해서 그걸 이해하고자 정리해본다. 원문링크: https://developer.apple.com/app-store/review/guidelines/ 1. 이약관은? 1.1 앱 개발자로서 프로그램의…

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi
IoT by Raspberry Pi
shares9 views
IoT by Raspberry Pi
shares9 views

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi

MJ Kim - 3월 04, 2017

RPi1114-Raspberry Pi전원제어 모듈이 있다. 이 제품은 40Pin GPIO핀헤더에 연결하여 사용하는 모듈로 Cortax-M0마이크로컨트롤러 LPC1114를 내장하고 Raspberry Pi의 시작과 정지 순서등을 프로그래밍할…