block初尝试。

1,

@class seatObject;
typedef void (^touchButtom) (seatObject *);
@interface seatObject : UIView<VShowRoomServiceDelegate>

{

}

@property (nonatomic ,strong)touchButtom block;
@end

2,

@implementation seatObject
@synthesize seatView,userNameLable,userSeatView,getBtr,block,changeType;
- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self)
    {
        
        self.getBtr = [UIButton buttonWithType:0];
        self.getBtr.frame = CGRectMake(0, 10 + userNameLable.frame.size.height + userNameLable.frame.origin.y, frame.size.width, 20);
        [self.getBtr addTarget:self action:@selector(jump) forControlEvents:UIControlEventTouchUpInside];
        self.getBtr.backgroundColor = [UIColor redColor];
        [self addSubview:self.getBtr];
        
      
       
    }
    return self;
}

3,

- (void)jump
{

    block(self);
}

4,

    seatObject *seat = [[seatObject alloc] initWithFrame:CGRectMake(i*seatWidth, 0, seatWidth, self.frame.size.height - tempHeigth)];
            seat.tag = i;
            [seat changeTypeWithTag:1];
            seat.block = ^(seatObject *seat)
            {
                DebugLog(@"%d  %d",seat.tag, seat.changeType);
            };
            [carView addSubview:seat];

 

__block VShowRoomViewController *roomViewController = self; 防止重复引用

posted on 2014-08-05 13:45  三十一  阅读(211)  评论(0编辑  收藏  举报

导航