2012-06-07 2 views
0

다음 작업을 수행해도 안전합니까?awakeFromNib에서보기의 값을 설정하는 것이 안전합니까?

// in AppController.h 
@interface AppController : NSObject 
{ 
    IBOutlet NSTextField *label; 
} 
@end 

// in AppController.m 
- (void)awakeFromNib 
{ 
    [label setIntValue:5]; 
} 

또는 awakeFromNibAppController 인스턴스에 보낼 때 label가 아직 완전히 초기화되지 않았 가능성이 있습니다?

답변

0

Documentation는 말한다 : 오브젝트가 아카이브에서 인스턴스화되는 순서가 보장되지 않기 때문에, 당신의 초기화 방법은 계층 구조에서 다른 객체에 메시지를 보낼한다

중요
. 다른 개체에 대한 메시지는 awakeFromNib 내에서 으로 안전하게 보낼 수 있습니다.이 시간에 모든 개체가 보관되고 초기화됩니다 (물론 깨울 필요는 없지만)..

는 사실로 awakeFromNib은 모든 펜촉은 객체의 생성과 연결 아웃렛과 액션 후 파일의 소유자를 작성 완료 객체에 보낼 수있다.

+0

즉, 위의 코드가 맞다는 의미입니까? – tajmahal

+0

네 코드가 맞습니다! – bijan

0

안전한지 확실하지 않습니다.
그러나 nib 파일을로드 한 후 모든보기 설정에 viewDidLoad:을 사용해야합니다.

관련 문제