Что такое «Неожиданное имя интерфейса» в цели c, разработка iPhone? - PullRequest
1 голос
/ 11 сентября 2011

Я использовал класс MapMultiController, который расширяет UIViewController и создается изнутри моего ListViewController, который также расширяет UIViewController, например:

@interface MapMultiController : UIViewController <UINavigationControllerDelegate, UINavigationBarDelegate> {
    MKMapView           *mapView;
    UISegmentedControl  *barStyleSegControl;
    bool                wasUpdated;
}

, а затем это:

MapMultiController *controller = [[MapMultiController alloc] initWithNibName:@"MapMultiController" bundle:nil];
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];
[controller release];

Это все работало раньше, но затем я прокомментировал распределение и все это из моего ListViewController и сделал некоторые другие вещи, и теперь, когда я пытаюсь вернуть его обратно, он говорит: «Неожиданное имя интерфейса« MapMultiController » ", и, конечно, все после этого не работает.

Но все выглядит правильно для меня! Что не так?

Ответы [ 3 ]

4 голосов
/ 11 сентября 2011

Вероятно, произошло то, что в процессе редактирования вы добавили некоторый код перед этим @interface, и теперь компилятор не ожидает его там, где он его находит.Дело не в том, что ваш код неправильный, а в том, что он не в том месте.

3 голосов
/ 11 сентября 2011

Эта ошибка обычно возникает, когда вы создаете объект, где создание объекта просто не разрешено .

Эта та же самая ошибка произошла со мной, когда я выделял объект внутри оператора switch:

switch (myInt) {
    case 1:
        NSString *string = @"Hello Exception!";
        break;
    default:
        break;
}

выдает следующую ошибку:

Семантическая проблема: неожиданное имя интерфейса 'NSString': ожидаемое выражение

2 голосов
/ 18 октября 2011

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

Следующее является допустимым использованием оператора switch:

switch (myInt) {
    case 1:
    {
        NSString *string = @"Hello Exception!";
        break;
    }
    default:
        break;
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...