Object-c не может получить доступ к viewcontroller - PullRequest
0 голосов
/ 29 ноября 2011

РЕШЕНИЕ: Blogpost


Я использую Titanium для разработки приложений и пытаюсь создать новый модуль для расширения функций приложения.

1) Модуль запущен и работает - FIX!2) Добавление "таможен" / функций в модуль - ERR.

Я следую этому http://iosguy.com/2010/09/04/presenting-pdf-files-by-yourself/, и я действительно неуверен, где, что, как и почему мне нужно поместить эти функции, как я создаю упомянутые представленияи т. д.

Итак, вот что я получил: я прочитал, что файл comas3breezepdfModule.m мне нужен для работы, поэтому функции из приведенной выше ссылки вставляются в этот файл .m следующим образом:

-(CGPDFDocumentRef)openDocument:(CFURLRef)url
{
    CGPDFDocumentRef myDocument = CGPDFDocumentCreateWithURL(url);
    if (myDocument == NULL) {
        return 0;
    }
    if (CGPDFDocumentIsEncrypted (myDocument)
        || !CGPDFDocumentIsUnlocked (myDocument)
        || CGPDFDocumentGetNumberOfPages(myDocument) == 0) {
        CGPDFDocumentRelease(myDocument);
        return 0;
    }
    return myDocument;
}

-(CGPDFDocumentRef)document 
{
    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"presentation" ofType:@"pdf"];
    NSURL *url = [[NSURL alloc] initFileURLWithPath:filePath];
    CGPDFDocumentRef pdfdocument = [self openDocument:(CFURLRef)url];
    [url release];
    return pdfdocument;
}

- (void)load {
    UIViewController* controller = nil;
    NSInteger numberOfPages = CGPDFDocumentGetNumberOfPages([self document]);
    for (NSInteger pageIndex = 1; pageIndex <= numberOfPages; pageIndex++) {
        CGPDFPageRef page = CGPDFDocumentGetPage([self document], pageIndex);
        PDFPageView *pageView = [[PDFPageView alloc] initWithFrame:scrollView.bounds];
        pageView.page = page;
        pageView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
        pageView.autoresizesSubviews = YES;
        pageView.backgroundColor = [UIColor whiteColor];
        [scrollView addSubview:pageView];

        [pageView release];
    }
}

Затем я попытался создать новый подкласс viewcontroller, в котором я получил файл PDFPageView.h и PDFPAgeView.m ... но что бы я ни пытался проверить, я все равно получаю кучу ошибок насоздание объекта pageView в функции загрузки.

следующим образом:

comas3breezepdfModule.m: error: Semantic Issue: Use of undeclared identifier 'scrollView'; did you mean 'UIScrollView'?
comas3breezepdfModule.m: error: Semantic Issue: Property 'page' not found on object of type 'PDFPageView *'
comas3breezepdfModule.m: error: Semantic Issue: Property 'autoresizingMask' not found on object of type 'PDFPageView *'
comas3breezepdfModule.m: error: Semantic Issue: Property 'autoresizesSubviews' not found on object of type 'PDFPageView *'
comas3breezepdfModule.m: error: Semantic Issue: Property 'backgroundColor' not found on object of type 'PDFPageView *'
comas3breezepdfModule.m: error: Semantic Issue: Unknown receiver 'scrollView'; did you mean 'UIScrollView'?
comas3breezepdfModule.m: warning: Semantic Issue: Method '+addSubview:' not found (return type defaults to 'id')

Может ли кто-нибудь указать мне правильное направление?

Худшее - работа с Java, JS,AS3 на ежедневной основе, но как только я что-то открываю с помощью xCode, мой разум становится пустым, и я даже не уверен, что это за функция.Пытались понять логику здесь время от времени почти все 5 недель, но мне кажется, что я возвращаюсь назад и понимаю еще меньше ...

Ответы [ 2 ]

0 голосов
/ 27 марта 2012

Вы должны показать свой .h файл и сгенерированные в нем ошибки. Есть несколько возможностей, и одна из них заключается в том, что класс PDFPage не находится в вашем пути поиска .... обычно это папки (lib ..) где хранятся фреймворки, а исправление заключается в добавлении пути поиска, нажав на значок приложения и изменив настройки сборки .... пути поиска!

0 голосов
/ 29 ноября 2011

Все ошибки указывают на то, что компилятор не может найти объявления различных параметров.Убедитесь, что вы добавили соответствующие заголовочные файлы, а также синтезировали все объявленные свойства.

...