2013-09-09 2 views
1

CJSHWork как класс определяется в CJSHWork.h и CJSHWork.m. В CJSHWork.h у меня есть:Ошибка «Нет видимых @interface» с методом

@interface CJSHWork : NSObject 

@property (nonatomic, copy) NSString *name; 
@property (nonatomic, copy) NSString *title; 
@property (nonatomic, copy) NSString *url; 

-(id) initWithName:(NSString *)name filename:(NSString *)title content:(NSString *)url; 

@end 

В CJSHWork.m у меня есть:

- (id) initWithName:(NSString *)name title:(NSString *)title content:(NSString *)url 
{ 
    self = [super init]; 
    if (self) 
    { 
     _name = name; 
     _title = title; 
     _url = url; 
    } 
} 

И у меня есть, в CJSHDataController.m,

import "CJSHWork.h" 

...

CJSHWork *work = [[CJSHWork alloc] initWithName:@"" title:allWorks[i][1] url:url]; 

Обнаружили ошибку «Нет visible @interface для CJSHWork объявляет селектор initWithName title url ".

Что здесь происходит, и как я могу это исправить?

ответ

6

Ваше имя метода initWithName: Название: Содержание: не initWithName: Название: URL:

+5

Это хуже, чем это. Метод объявляется с одним именем в файле .h и реализуется с другим именем в .m в дополнение к вызову его с еще одним именем. – rmaddy

+0

Спасибо вам обоим. Я сделал (явно неполный) переключатель в именах переменных. – JonathanHayward

Смежные вопросы