自定义UITableViewCell运行另一个类委托方法

时间:2014-03-12 21:08:44

标签: ios iphone uitableview delegates nstimer

我目前有一个自定义计时器类和一个自定义UITableviewCell,计时器有一组基于计时器状态触发的委托方法,自定义单元格有一个这个计时器类的实例作为属性并且设置了委托方法在M文件中,但是我注意到当单元被分配了一个计时器并且计时器启动时它们没有触发..我的代码如下:

TABLEVIEW CELL H

#import <UIKit/UIKit.h>
#import "TimerClass.h"

@interface AeroPressCell : UITableViewCell <timerDelegate>
@property (weak, nonatomic) IBOutlet UILabel *centerLabel;
@property (weak, nonatomic) IBOutlet UILabel *rightLabel;
@property (weak, nonatomic) IBOutlet UILabel *bottomLabel;
@property (weak, nonatomic) IBOutlet UIImageView *cellImage;
@property (weak, nonatomic) IBOutlet TimerClass *timer;

TABLEVIEW CELL M

#import "AeroPressCell.h"

@implementation AeroPressCell

@synthesize cellImage;
@synthesize centerLabel;
@synthesize bottomLabel;
@synthesize rightLabel;
@synthesize timer;

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
    }
    return self;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

#pragma mark Timer Delegate
#pragma mark -

- (void)timerStarted{
    NSLog(@"STARTED");

}

- (void)timerTick{


}

- (void)timerPaused{
    NSLog(@"PAUSED");

}

- (void)timerResumed{


}

- (void)timerFinished{

    NSLog(@"FINISHED");
}


@end

我知道这些委托方法可以工作,因为我已经通过在viewcontroller中使用此计时器类的实例进行了测试并且它正在触发,这对于一个合适的视图单元是不可能的?目前,计时器在每个单元格中倒计时,但委托方法没有触发,任何想法发生了什么?

1 个答案:

答案 0 :(得分:0)

AeroPressCell代码中,您尚未将计时器类的委托设置为单元格的实例。尝试设置计时器的委托 - self.timer.delegate = self