2011-01-18 2 views
2

Я пишу документ на основе приложения Mac OSX, и я читаю учебник, который говорит об использовании NSPrintOperation (по умолчанию, нажав печать в моем приложении прямо сейчас дает ошибку:Использование NSPrintOperation в какао

printOperationWithSettings:error: is a subclass responsibility but has not been overridden. 

Так что я сказал, чтобы использовать следующее:.?

- (NSPrintOperation *)printOperationWithSettings:(NSDictionary *)ps error:(NSError **)e; 
{ 
    NSPrintInfo *printInfo = [self printInfo]; 
    NSPrintOperation *printOp = [NSPrintOperation printOperationWithView:MyView 
                   printInfo:printInfo]; 
    return printOp; 

(где MyView это имя точки зрения я хочу напечатанной Мой вопрос, где я могу назвать эту точку зрения в Interface Builder I попробовал «я», и это заставило ошибку. Я изучаю какао, поэтому я смущен. Экземпляры в Interface Builder являются только NSView и называются View (не уникальными). Любая помощь?

ответ

1

В файле .h вашего документа, добавьте следующее:

@interface MyDocument : NSDocument { 
    IBOutlet NSView  *myView; 
} 

@end 

(Если у вас действительно есть пользовательский подкласс в NSView или представление, которое вы собираетесь на печать является более конкретный вид зрения (для пример, NSTableView), вы, вероятно, измените тип этого типа вместо общего NSView).

Затем в интерфейсе Builder в файле nib вы, скорее всего, перетащите указатель мыши из объекта «Владелец файла» в представление, которое вы собираетесь печатать. Когда вы увидите выделенное представление и отпустите, вы должны получить всплывающее меню, в котором вы можете выбрать myView. Теперь вы подключили провода, так сказать, чтобы вы могли ссылаться на этот конкретный вид в остальной части вашего кода.

+0

Большое спасибо, посмотрим, как это происходит! – Zakman411

+0

Это дает мне: непризнанный селектор отправлен в экземпляр 0x2000f75a0 – Zakman411

+0

Я подключил его к текстовому элементу. Это уместно? – Zakman411

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