У меня есть некоторые вопросы об использовании делегата patten на iPhone.Как использовать шаблон делегата на iPhone
Это код с использованием делегата patten. Этот код работает.
SecondViewController *secondViewController = [[SecondViewController alloc] init];
secondViewController.delegate = self;
[self.navigationController pushViewController:secondViewController animated:YES];
[secondViewController release];
Я написал код следующим образом. Но это не сработает. Я думал, что делегат недействителен.
GoogleDocsViewController *googleDocsView = [[GoogleDocsViewController alloc]initWithNibName:@"GoogleDocsViewController" bundle:nil];
googleDocsViewController.delegate = self;
[self.navigationController pushViewController:googleDocsView animated:YES];
[googleDocsView release];
Я не знал, почему этот код имеет предупреждение. Предупреждение.
Класс 'RootViewController' не реализует протокол '' GoogleDocsViewControllerDelegate
Что я могу сделать?
ADD SOURCE CODE
GoogleViewController.h
@protocol GoogleDocsViewControllerDelegate;
@interface GoogleDocsViewController : UIViewController<UITextFieldDelegate> {
id<GoogleDocsViewControllerDelegate> delegate;
}
@property (nonatomic,assign) id<GoogleDocsViewControllerDelegate> delegate;
@end
@protocol GoogleDocsViewControllerDelegate<NSObject>;
@required
-(void) googleViewControllerInputDidEnd:(NSString *)text;
@end
googleDocsViewController.m
-(void)googleViewControllerInputDidEnd:(NSString *)text{
NSLog(@"delegate");
}
Это googleViewControllerInputDidEnd: (NSString *) Метод текст тестового источника.
Благодарим за отправку источника. Поскольку метод отмечен как @required, добавили ли вы также объявление googleViewControllerInputDidEnd в ваш файл реализации (.m)? –