优雅的使用枚举

2020-06-19  本文已影响0人  搬码小能手
//
//  WJSquareModel.h
//  KingTalent
//
//  Created by 王杰 on 2020/6/10.
//  Copyright © 2020 yizhilu. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN


@interface ShequPhoto : NSObject
@property (nonatomic,copy)NSString *url;
@end

typedef enum {
    RoleUnknown,
    RoleStudent,//1 学员
    RoleMajia,// 2 马甲
    RoleOfficial,//  3 官方
    RoleTeacher// 4 老师
} Role;

@interface SQData : NSObject
@property (nonatomic,copy)NSString *ID;
@property (nonatomic,copy)NSString *user_id;
@property (nonatomic,copy)NSString *profession_id;
@property (nonatomic,copy)NSString *content;
@property (nonatomic,copy)NSString *title;
@property (nonatomic,copy)NSString *subtitle;
@property (nonatomic,strong)NSArray <ShequPhoto*>*photo;
@property (nonatomic,copy)NSString *stick;
@property (nonatomic,copy)NSString *ctime;
@property (nonatomic,copy)NSString *is_admin;
@property (nonatomic,copy)NSString *comment_num;
@property (nonatomic,copy)NSString *like_num;
@property (nonatomic,copy)NSString *read_num;
@property (nonatomic,copy)NSString *topic_id;
@property (nonatomic,copy)NSString *topic_name;
/// 发帖人角色 1 学员 2 马甲 3 官方 4 老师
//@property (nonatomic,copy)NSString *role;
@property (nonatomic,assign)Role role;

@property (nonatomic,copy)NSString *user_image;
@property (nonatomic,copy)NSString *user_name;
@property (nonatomic,copy)NSString *community_type;
@property (nonatomic,assign)CGFloat cellHeight;
/// 广场页面列表cell高度
@property (nonatomic,assign)CGFloat squareCellHeight;
/// 是否点赞
@property (nonatomic,assign,getter = isLike)BOOL is_like;


@end


@interface SQTopic : NSObject
@property (nonatomic,copy)NSString *ID;
@property (nonatomic,copy)NSString *topic_title;

@end


//推荐-轮播图
@interface SQAd : NSObject
@property (nonatomic,copy)NSString *profession_id;
@property (nonatomic,copy)NSString *type;
@property (nonatomic, copy) NSString *image;
@property (nonatomic,copy)NSString *activity_id;
@property (nonatomic,copy)NSString *jump_id;
@property (nonatomic,copy)NSString *url;
@end

//推荐-热点
@interface SQHot : NSObject
@property (nonatomic,copy)NSString *ctime;
@property (nonatomic,copy)NSString *ID;
@property (nonatomic, copy) NSString *photo;
@property (nonatomic,copy)NSString *profession_id;
@property (nonatomic,copy)NSString *stick;
@property (nonatomic,copy)NSString *subtitle;
@property (nonatomic,copy)NSString *title;
@property (nonatomic,copy)NSString *user_id;
@end


@interface WJSquareModel : NSObject
@property (nonatomic,strong)NSArray<SQTopic*>*topic;
@property (nonatomic,strong)NSArray<SQData*>*data;
@property (nonatomic,strong)NSArray<SQAd*>*ad;
@property (nonatomic,strong)NSArray<SQHot*>*hot;
@end

NS_ASSUME_NONNULL_END

其中

typedef enum {
    RoleUnknown,
    RoleStudent,//1 学员
    RoleMajia,// 2 马甲
    RoleOfficial,//  3 官方
    RoleTeacher// 4 老师
} Role;

@property (nonatomic,assign)Role role;

深得我心

@property (nonatomic,assign,getter = isLike)BOOL is_like;

is_like 是后端小伙伴定义的字段,为了让代码更符合Objective-C的编码习惯,添加getter = isLike即可,在使用的地方可以isLike
因为,getter,属于点方法,并不是属性property,
所以,你只能获取isLike,无法为isLike赋值

Xnip2020-06-19_11-41-31.png
上一篇 下一篇

猜你喜欢

热点阅读