У меня есть подкласс UITableViewCell следующим образом:делегат не вызывается
@class MyCell;
@protocol MyCellDelegate
- (void) viewController:(MyCell*)viewCon userId:(NSNumber*)uid andType:(NSString*)type;
@end
@interface MyCell : UITableViewCell <MHLazyTableImageCell>{
id <MyCellDelegate> delegate;
NSNumber * mid;
NSNumber * uid;
}
- (IBAction) star:(id) sender;
- (IBAction) reply:(id) sender;
- (IBAction) message:(id) sender;
- (void) showMenu;
@property (nonatomic, retain) id <ConvoreCellDelegate> delegate;
@property (nonatomic, retain) NSNumber * mid;
@property (nonatomic, retain) NSNumber * uid;
делегат вызывается в IBAction:
- (IBAction) star:(id) sender
{
[self.delegate viewController:self userId:mid andType:@"star"];
}
У меня есть еще один UIVewController следующим образом:
@interface DetailViewController : UIViewController <UIPopoverControllerDelegate, UITableViewDelegate, UITableViewDataSource, UISplitViewControllerDelegate, RKObjectLoaderDelegate, MHLazyTableImagesDelegate, UITextViewDelegate, ConvoreCellDelegate> {
.......
}
и в реализации я положил:
- (void) viewController:(MyCell*)viewCon userId:(NSNumber*)uid andType:(NSString*)type
{
NSLog(@"DELEGATE IS CALLED");
if ([type isEqualToString:@"star"]){
NSLog(@"Message id is %@", uid);
} else if ([type isEqualToString:@"reply"]){
[message becomeFirstResponder];
message.text = @"@username";
} else if ([type isEqualToString:@"message"]){
}
}
Однако это не входит в это. Он никогда не печатает DELEGATE IS CALLED. почему это?
что вы имеете в виду, установив делегата? – adit
и добавьте точку останова, где – adit
1. Установите точку останова в вашем методе - (IBACTION): (id). Но, основываясь на вашем первом комментарии, мы уже знаем, в чем проблема (он не установлен, поэтому он равен нулю). Обновление ответа, чтобы помочь немного больше. – MarkPowell