2013-08-18 2 views
-5

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

register.h

#import <UIKit/UIKit.h> 
@interface register : UIViewController 
@end 

дает ошибки:

Ожидаемый идентификатор
Ожидаемый идентификатор или '('

register.m

#import "register.h" 
@interface register() 
@end 
@implementation register 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 
} 

- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

@end 

@implementation регистр

Ожидаемый идентификатор
Ожидаемый идентификатор или '('

- (void)viewDidLoad и - (void)didReceiveMemoryWarning отдавания:

Отсутствует контекст для объявления метода

@end дает:

@end должен появиться в Objective-C контексте

Это происходит каждый раз, когда я делаю новый класс без написания какого-либо кода.

+2

Это происходит * каждый раз, когда вы делаете новый класс? Даже если вы называете это чем-то иным, чем 'register'? –

+8

'register' - это ключевое слово в C. (Это хорошая причина следовать правилам кодирования C++/Objective-C и всегда называть классы с ведущими шапками.) –

+0

спасибо, я даже не подумал попробовать другое имя! –

ответ

7

Вы не можете назвать класс, переменную, функцию и т. Д. С зарезервированными ключевыми словами. Ниже приведен список ключевых слов Objective-C: http://cupsofcocoa.com/2010/09/09/reserved-keywords/

Чтобы устранить проблему, назовите свой класс чем-то иным, чем register (это не зарезервированное ключевое слово). Вы даже можете назвать его Register, и он будет компилироваться.

+1

Используйте условное обозначение кода. Если вы подклассифицируете UIViewController, назовите свой класс 'RegisterViewController' –