我有一个tableview
,在tableview
我正在设置customcell
。customcell
有一个按钮,当按钮点击时,委托方法调用并播放或暂停音频。
但我不知道为什么我的方法没有调用。
这是我的代码。
AudioInfoCell.h // itas子视图
#import <UIKit/UIKit.h>
@protocol PlayPauseDelegate <NSObject>
-(void)playPauseAudio;
@end
@interface AudioInfoCell : UITableViewCell
{
id<PlayPauseDelegate> delegate;
}
@property(nonatomic,strong)id delegate;
@end;
AudioInfoCell.m
@synthesize delegate;
- (IBAction)playPauseBtnTapped:(id)sender {
if([delegate respondsToSelector:@selector(playPauseAudio)])
{
//send the delegate function with the amount entered by the user
[delegate playPauseAudio];
}
}
AudioTableViewController.h //其父视图
#import "AudioInfoCell.h"
@interface AudioTableViewController : UIViewController<PlayPauseDelegate>
AudioTableViewController.m
cell.delegate = self;
-(void)playPauseAudio{
NSLog(@"button pressed");
}
答案 0 :(得分:1)
@kartik,我没有指定你指定cell.delegate=self;
的方法。
所以我假设你已经在viewDidLoad
中指定了它,而不是在vieWillApear
方法中指定它而不是它应该工作。