2010-11-12 6 views
0

Я создал NSWindow с PDFView в XIb файле, я создал контроллер под названием MainController, там, я создал IBAction -(IBAction) openFileAction:(id) sender, он использует методНабор документов для PDFview в конструкторе контроллера

-(void) openFile:(NSString *) path{ 
    NSLog(@"Opening File %@",path); 
    PDFDocument *pdfDoc = [[PDFDocument alloc] initWithURL:[NSURL fileURLWithPath:path]]; 
    [pdfView setDocument: pdfDoc]; 
} 

I связанный с открытием пункта меню до openFileAction, и файл pdf отображается правильно в PDFView после щелчка.

Я делаю логику, чтобы получить аргумент командной строки

-(MainController *) init{ 
    [super init]; 
    NSArray *myArgs = [[NSProcessInfo processInfo] arguments]; 
    NSLog(@"pdf view %@", pdfView); 
    if ([myArgs count] >= 2){ 
    [self openFile:[myArgs objectAtIndex:1]]; 
    } 

    return self; 
} 

Как вы можете видеть, я переопределение в конструктор по умолчанию, и в этом контексте pdfView равно нулю, то файл не открывается после загрузка приложения/основного окна.

Вопрос: как я могу открыть PDF-документ в PDFView после загрузки приложения? Есть ли крючок для использования после загрузки пользовательского интерфейса?

ответ

0

Если вы хотите сделать это, когда откроется окно вашего PDFView, используйте функцию windowDidLoad в вашем MainController, а не пытайтесь загрузить его в init.

0

Спасибо slycrel, но windowDidLoad - это обратный вызов NSWindowController. Я нашел решение самостоятельно, секрет

- (void) awakeFromNib{ 
//Do something after initialize UI components 
} 

Все самое лучшее.

Смежные вопросы