2010-04-28 5 views
0

Я пытаюсь создать новый метод в моем файле TapDetectingImageView, и это дает мне предупреждение о том, что он не может найти метод, даже если он был объявлен в файле .h.Сообщение об ошибке при попытке вставить метод в touchhesBegan

Конкретные три предупреждения указывают на строку @end в файле .m, когда я его создаю, и они говорят: «Неполная реализация класса« TapDetectingImageView »;« Определение метода для »-функции A:« не найден »; «Определение метода для« -функции Б: «не найдено»

Что мне не хватает? Мне не разрешено делать это в файле протокола, таком как TapDetectingImageView?

В моей .h файле:

@interface TapDetectingImageView : UIImageView <AVAudioPlayerDelegate> { 

id <TapDetectingImageViewDelegate> delegate; 

} 

@property (nonatomic, assign) id <TapDetectingImageViewDelegate> delegate; 

-(void) functionA:(NSString*)aVariable; 
-(void) functionB:(NSString*)aVariable; 

@end 

В моем файле .m является:

-(void)functionA:(NSString*)aVariable { 

// do stuff in this function with aVariable 

} 

-(void)functionB:(NSString*)aVariable { 

// do stuff in this function with aVariable 

} 
+0

вы импортировать соответствующие файлы заголовков? – shosti

+0

Да, файл .m импортирует файл .h, где определены методы ... это что-то странное происходит. В любом другом наборе .m и .h это работает отлично, но это не в примере TapDetectingImageView – iwasrobbed

ответ

0

Я понял это ... Я должен был объявить их как частные методы в. m, чтобы они могли работать, а затем называть их [self methodName:variableIn] ... по какой-либо причине они не будут работать, если я объявляю их в файле .h.

Я объявил им, как это в файле .m сразу же после импорта файлов и до implementation:

@interface TapDetectingImageView() 
// Private Methods 
-(void)functionA:(NSString *)aVariable; 
-(void)functionB:(NSString *)aVariable; 
@end 
Смежные вопросы