0

私はtableview、ボタンを持っている.inを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");
}
4

1 に答える 1

1

@kartik、私はあなたが指定した方法を指定していませんcell.delegate=self;

viewDidLoadしたがって、メソッドで指定するのではなく、で指定したと仮定しますvieWillApear

于 2012-12-15T12:05:20.143 に答える