나는 암호화 된 문서를 가지고 있습니다. 각 문서의 보관을 취소 한 후 사용자가 로그온 시트에서 문서 비밀번호를 입력하도록 요청해야합니다. 파일 내용에 대해 암호 입력을 검증 할 방법이 있습니다 (이 부분은 완료되었습니다). 암호가 틀리면 문서를 닫아야합니다. 암호가 정확하면 문서 창에 문서 내용이 표시됩니다. 아래와 같이 제가 미정 선택 오류가 문서의 windowControllerDidLoadNib
방법 (그 제어기를 통해) 로그온 시트를 적재 할 때사용자에게 암호화 된 문서에 로그온하라는 메시지 표시
:
- (void)windowControllerDidLoadNib:(NSWindowController *)aController
{
[super windowControllerDidLoadNib:aController];
if (!newPasswordController){
newPasswordController = [[NewPasswordController alloc] init];
newPasswordSheet = [newPasswordController window];
}
[NSApp beginSheet:newPasswordSheet modalForWindow:[self window]
modalDelegate:self
didEndSelector:@selector(didNewPasswordEnd:returnCode:contextInfo:)
contextInfo:nil];
}
[_NSControllerObjectProxy copyWithZone:]: unrecognized selector sent to instance
있어서 [NewPasswordController init]
구현되어 다음과 같이
-(id)init
{
self = [super initWithWindowNibName:@"NewPassword"];
if (self) {
}
return self;
}
여기서 로그온 시트 nib 파일은 NewPassword
입니다.
무엇이 잘못되었는지 궁금합니다. 이 문제를 해결하는 가장 좋은 방법은 무엇입니까?
"beginSheet"(Xcode7에서)를 사용할 때 "인식 할 수없는 선택기"가 있지만 코드를 사용하여 "runModalForWindow"를 호출했을 때 작동합니다. –