Ожидаемая ошибка выражения при использовании UIPopoverViewController - PullRequest
2 голосов
/ 25 февраля 2012

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

Я пытаюсь загрузить представление как всплывающее окно, и я следую некоторым учебникам в Интернете, но я получаю сообщение об ошибке, когда иду на компиляцию.Вот неправильный код:

-(IBAction)contestButton:(id)sender;
{
contestView *screen = [[contestView alloc] init];
UIPopoverController *pop = [[UIPopoverController alloc] initWithContentViewController:contestView];
[pop setDelegate:self];
[pop presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
[pop setPopoverContentSize:CGSizeMake(615, 650)];
[screen release];
}

И ошибка:

«Ожидаемое выражение перед «testView» »

Я извиняюсь за то, что мне кажется очень маленькой ошибкойчто я просто не могу вырваться, но я ценю вашу помощь.

1 Ответ

1 голос
/ 25 февраля 2012

У вас, кажется, есть класс с именем contestView.Вы создали экземпляр contestView и сохранили его в переменной screen.Затем вы пытаетесь передать contestView (имя класса) в качестве аргумента селектору initWithContentViewController:.Вы не можете передать пустое имя класса в качестве аргумента.

Возможно, вы хотели сказать это:

UIPopoverController *pop = [[UIPopoverController alloc]
    initWithContentViewController:screen];

Кстати, в программировании iOS принято начинать имя класса сЗаглавная буква.Поэтому вам настоятельно рекомендуется переименовать класс в ContestView.

Кроме того, метод -[UIPopoverController initWithContentViewController:] принимает в качестве аргумента экземпляр UIViewController, а не экземпляр UIView.Если ваш contestView класс является подклассом UIView, вы получите другую ошибку, когда исправите свой вызов, чтобы сказать screen вместо contestView.

Если contestView является подклассомUIViewController, вы должны переименовать его в ContestViewController.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...