PdfDocument в PdfView - сбой с нераспознанным экземпляром селектора в Objective C - PullRequest
0 голосов
/ 20 ноября 2018

Я использую Xcode 9.4 с Objective C. Я хочу отобразить PDF-файл, используя PDFView в соответствии с приведенным ниже кодом

PDFView * pdfView = [[PDFView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
NSString* path = [[NSBundle mainBundle] pathForResource:@"abc" ofType:@"pdf"];
NSData* data = [NSData dataWithContentsOfFile:path];
PDFDocument *pdfDocument = [[PDFDocument alloc] initWithData:data];
[pdfView setDocument:pdfDocument];

Но происходит сбой с нераспознанным экземпляром селектора SetDocument вместе с ошибкой ниже.

Ошибка:

- [PDFView setDocument:]: нераспознанный селектор отправлен в экземпляр 0x101367c40

ошибка: выполнение было прервано, причина: Попытка разыменовать недопустимый объект ObjC или отправить ему нераспознанный селектор,Процесс был возвращен в состояние до оценки выражения.

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

Спасибо.

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Наконец,

Я получил решение, просто добавьте UIView в раскадровку и установите класс как PDFView в Inspector.И создайте объект IBOutlet в PDFView, назначьте его UIView в раскадровке и установите pdfdocument для PdfView вместе со свойствами, если это необходимо.

Код:

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Swift" ofType:@"pdf"]];
    PDFDocument *document = [[PDFDocument alloc]initWithURL:url];
    _pdfView.document = document;
    _pdfView.frame = self.view.frame;
    _pdfView.displayDirection = kPDFDisplayDirectionHorizontal;

Спасибо всем за ваш ценныйусилия для обсуждения.

0 голосов
/ 20 ноября 2018

Согласно документации Apple PDFView, существует свойство document, которое содержит PDF-документ.Вместо вызова setDocument установите для свойства document переменную pdfDocument.

...