"Определение метода не в контексте @implementation"? - PullRequest
0 голосов
/ 25 мая 2010

Я положил это в X-код:

- (void)viewDidLoad {
    [super viewDidLoad];
 NSString *path = [[NSBundle mainBundle] pathForResource:@"DrinkArray" ofType:@"plist"];
 NSMutableArray* tmpArray = [[NSMutableArray alloc] initWithContentsOfFile:path];
 self.drinks = tmpArray;
 [tmpArray release];
    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    // self.navigationItem.rightBarButtonItem = self.editButtonItem;
}

И это говорит об этом в первой строке:

"Method Definition not an @implementation context"

Может ли кто-нибудь помочь?

Ответы [ 3 ]

1 голос
/ 25 мая 2010

Вы ставили "@implementation" в начале своих методов и "@end" в конце их? Objective-C подобен препроцессору, который превращает код в C, поэтому ему нужна помощь, чтобы знать, когда выполнять специальную обработку ваших методов Objective-C.

Кажется, вы пытаетесь создать новый ViewController, но вы делаете это как программист на C, а не программист на Objective-C. Вам необходимо определить подкласс класса ViewController, что означает, что вам нужен раздел "@interface" и раздел "@implementation".

Лучшим планом атаки может быть указание X-Code добавить новый файл, а в диалоговом окне выбора шаблона - сделать его подклассом UIViewController. Это будет правильно структурировать код. Вы также можете найти множество учебных пособий по ViewController онлайн.

0 голосов
/ 12 июля 2011

Я случайно использовал:

 #include <stdlib.h>

один раз. Я использовал

#import <stdlib.h>

и, похоже, это сработало лучше.

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

0 голосов
/ 25 мая 2010

Вы поместили этот метод не в том месте в вашем исходном файле. Ищите строку с надписью @implementation и другую с надписью @end. Поместите ваш метод между ними.

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