博客> iOS中枚举类型的定义和使用
iOS中枚举类型的定义和使用
2017-11-22 23:24 评论:0 阅读:366 dongcaili2012
ios

//NS_ENUM,定义状态等普通枚举typedef NS_ENUM(NSUInteger, TTGState) { TTGStateOK = 0, TTGStateError, TTGStateUnknow};//NS_OPTIONS,定义选项typedef NS_OPTIONS(NSUInteger, TTGDirection) { TTGDirectionNone = 0, TTGDirectionTop = 1 << 0 xss=removed xss=removed xss=removed xss=removed xss=removed> -(void)videoButtonTouchHandler:(OneView *)view; @end

@interface OneView : UIView @property (nonatomic, weak) id delegate; @property (nonatomic, assign) button currentButton; @end OneView.m中 给两个button添加上同样的事件 [_existButton addTarget:self action:@selector(itemButtonTouchHandler:) forControlEvents:UIControlEventTouchUpInside]; button的点击事件 -(void)itemButtonTouchHandler:(UIButton *)sender{ if (sender == self.shootButton) { self.currentButton = ENUM_shoot; }else if (sender == self.existButton){ self.currentButton = ENUM_picker; }

if([self.delegate respondsToSelector:@selector(videoButtonTouchHandler:)]){
    [self.delegate videoButtonTouchHandler:self];
}

}

那么在controller中使用的时候 第一步:需要先遵循自定义的代理方法@interface PublishViewController () 第二部:实现代理方法 -(void)videoButtonTouchHandler:(PublishView *)view{ if (view.currentButton == ENUM_picker) { NSLog(@"点击了第一个按钮"); }else if(view.currentButton == ENUM_shoot){ NSLog(@"点击了第二个按钮"); } 红色文字需要保持一致 其中涉及到的自定义代理方法以后再说

收藏
0
sina weixin mail 回到顶部