NSViewController를 포함하는 커스텀 NSBundle을 업로드 할 프로젝트를 찾고 있습니다. 이로드 됐어요 후 내 메인 프로그램에서 나는 ...NSBundle NSViewController 로딩하기
id principalClass = [loadedBundle principalClass];
id instance = [[principalClass alloc] init];
[localLabel setStringValue:[instance name]];
NSView *incomingView = [[instance viewController] view];
[localView addSubview:incomingView];
[localView display];
을 번들 처리하는 코드를 가지고 그리고 번들의 주요한 클래스의 초기화 방법은 ... 다음과 같습니다
-(id) init {
if(self = [super init]){
name = @"My Plugin";
viewController = [[ViewController alloc] initWithNibName:@"View" bundle:nil];
}
return self;
}
View.nib은 번들 프로젝트에있는 펜촉입니다. 하지만 번들을로드 할 때마다이 오류가 발생합니다 ...
2010-05-27 09 : 11 : 18.423 PluginLoader [45032 : a0f] 이름이 새겨진 것을 찾을 수 없습니다. 번들 경로에서보기 : (null) 2010- 05-27 09 : 11 : 18.424 PluginLoader [45032 : a0f] - [NSViewController loadView]가 "View"펜촉을로드 할 수 없습니다.
[label setStringValue:[instance name]];
레이블 텍스트를 올바르게 설정했기 때문에 모든 것이 유선 상태라는 것을 알고 있습니다. 또한 번들에있는 모든 클립을 가져 와서 기본 응용 프로그램 프로젝트에로드하면 모든 것이 예상대로 작동합니다. 내 번들에서 "보기"를 올바르게 참조 할 수있는 방법에 대한 의견이 있으십니까?
감사합니다.
'[loadedBundle principalClass]'는'id'가 아닌'Class' 타입을 반환합니다. 가독성을 위해 아마도'principalClass' 변수에'Class' 유형을 사용할 것입니다. – dreamlax
머리 위로. 그리고 20 분 안에! 고마워. – Staros