1
我有子類的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 2011-05-09 18:21:15
並在其中添加一個斷點 – adit 2011-05-09 18:21:53
1.在 - (IBACTION)star:(id)sender方法中設置斷點。但根據你的第一條評論,我們已經知道這個問題會是什麼(它沒有設置,所以它是零)。更新答案以提供更多幫助。 – MarkPowell 2011-05-09 18:59:59