Swifter {Swift Developer}

메뉴

Cocoa바인딩시 주의해야할 점

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

카테고리:   Swift

댓글

죄송하지만 댓글은 닫혀 있습니다.