ошибка: ожидаемый идентификатор или '(' перед '{' токеном Obj-C - PullRequest
1 голос
/ 21 июня 2011

Я пытаюсь собрать очень простое приложение для iPad 1 для молодых учеников, которое, как мне показалось, могло бы легко собраться, но я застрял. Я просто хочу, чтобы пользователь мог выбрать имя из сегментированного контрольного списка, нажать кнопку «Вперед» и просмотреть личную веб-страницу этого учителя. Вот и все. 3 действия.

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

Я надеюсь, что объясню свою проблему должным образом, и любая помощь вообще приветствуется. Вот фрагмент с измененными именами, а в ЗАГЛАВНЫХ строках есть строка, где происходит ошибка:

@synthesize nameChoice;
@synthesize teacherView;

-(IBAction)getTeacher:(id)sender {
    NSURL *pageURL;
    NSString *pageURLString;
    NSString *name;
    int nameNum;

    name=[nameChoice titleForSegmentAtIndex:
            nameChoice.selectedSegmentIndex];

    pageURLString=[[NSString alloc] initWithFormat:
        @"http://teacher.website.com/home/showrandomipad.php?name=%@&session=%d"
        ,name,nameNum];

    pageURL=[[NSURL alloc] initWithString:pageURLString];

    [teacherView loadRequest:[NSURLRequest requestWithURL:pageURL]];

    [pageURLString release];
    [pageURL release];
}

{       HERE IS THE ERROR (error: expected identifier or '(' before '{' token)
    (switch)nameNum {
        case 0:
            name=@"Teacher 1";
            nameVal=@"teacher 1";
            break;
        case 1:
            name=@"Teacher 2";
            nameVal=@"teacher 2";
            break;
        case 2:



        //the list of teachers goes from here.... etc etc etc 

Ответы [ 2 ]

5 голосов
/ 21 июня 2011

Вы закрываете метод после [pageURL release];, а затем добавляете новый { для запуска оператора switch (который также находится в очень странном формате)

Намерены ли вы создать новый метод там?Если это так, вы должны обратить внимание на правильный синтаксис метода.

Вы можете проверить этот документ для синтаксиса метода:

http://developer.apple.com/library/mac/#referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/_index.html

И это для оператора C switch:

http://msdn.microsoft.com/en-us/library/66k51h7a(v=vs.80).aspx

3 голосов
/ 21 июня 2011

изменение:

(switch)nameNum 

до:

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