2012-09-01 2 views
2

NSTokenField을 서브 클래스로 만들려고하는데 초기화 중에 일부 ivars를 설정해야하지만 어떤 초기화 도구를 재정의해야합니까? 토큰 필드가 상속하는 NSTokenField 또는 NSTextField의 지정된 초기화 프로그램에 대한 설명서는 설명서에 나와 있지 않습니다.NSTokenField 지정 초기화 프로그램이란 무엇입니까?

-initWithFrame:-init:을 덮어 쓰려고했으나 호출되지 않았습니다.

답변

2

코드에 텍스트 필드를 만들면 initWithFrame:이거나 필드가 XIB (인터페이스 작성기) 파일에 만들어지면 initWithCoder:이어야합니다.

NCoding 프로토콜을 따르는 NSTokenFieldNSView에서 상속되기 때문입니다. 따라서 이것은 NSView에서 상속받은 다른 객체에도 유효합니다.

그러니까 기본적으로, 당신은 서브 클래스 모두를 오버라이드 (override) :

- (id)initWithFrame: (NSRect)frame; 
- (id)initWithCoder: (NSCoder *)decoder; 
+0

감사합니다'-initWithCoder : '작업이했다. – Jacopo

관련 문제