代表不起作用

时间:2012-12-15 11:17:14

标签: iphone objective-c ios delegates

我有一个tableview,在tableview我正在设置customcellcustomcell有一个按钮,当按钮点击时,委托方法调用并播放或暂停音频。 但我不知道为什么我的方法没有调用。

这是我的代码。

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");
}

1 个答案:

答案 0 :(得分:1)

@kartik,我没有指定你指定cell.delegate=self;的方法。

所以我假设你已经在viewDidLoad中指定了它,而不是在vieWillApear方法中指定它而不是它应该工作。