美文网首页IOS相关
iOS·枚举与整型转换

iOS·枚举与整型转换

作者: 小码僧 | 来源:发表于2018-08-28 10:23 被阅读166次
  • 需求背景:

某项目组之前的小伙伴开发的模块:某页面行距大小根据枚举类型进行设置,现在本人接受项目后,需要添加两个功能,一个按钮增大字体大小,一个按钮缩小字体大小。

  • 技术问题:

增大按钮就是让某int类型增大,缩小按钮就是让某int类型递减。问题来了,这个int类型直接取那个枚举类型?在不改变原有UI及控制逻辑的情况下,可以用数据转换。

  • 枚举类型
typedef NS_ENUM(NSInteger, LineSpace) {
    LineSpaceDefaultStyle = 0,
    LineSpaceSecondStyle,
    LineSpaceThirdStyle,
    LineSpaceFourthStyle,
}
  • 枚举转int
LineSpace linespace = LineSpaceDefaultStyle;
int space = (int)linespace;
  • int转枚举
[CommonConfig sharedInstance].lineSpace = space;
  • 增大动作
- (void)lineSpacePlusAction{
    LineSpace linespace = [CommonConfig sharedInstance].lineSpace;
    int space = (int)linespace;
    space += 1;
    if (space > 3) {
        return;
    }
    [CommonConfig sharedInstance].lineSpace = space;
    //balabala...
}
  • 后续影响

在上面设置[CommonConfig sharedInstance].lineSpace之后,原有UI逻辑类可以利用KVO监听到枚举类型的属性发生变化,然后利用switch判断该怎样设置行距大小。

相关文章

  • iOS·枚举与整型转换

    需求背景: 某项目组之前的小伙伴开发的模块:某页面行距大小根据枚举类型进行设置,现在本人接受项目后,需要添加两个功...

  • 2018-08-23 day4-循环和分支

    1.数据类型转换 自动转换 整型与浮点型数计算转换为浮点型 整型与bool型(0和1)计算转换为整型 强制转换 语...

  • Java面试 - 整型之间的转换

    目录 整型之间的转换总结: 整型的值范围 整型的隐式转换 整型之间的转换char类型转换为byte、short时,...

  • Android 性能优化

    一. 内存优化 Android 垃圾回收与内存优化 不要过度使用枚举,枚举占用的内存空间要比整型大。 适度使用静态...

  • OC中枚举写法 以及 字符串类型枚举实现探索

    常见枚举写法 C语言模式的枚举写法:enum 普通【整型】枚举写法 :NS_ENUM 位移枚举 :NS_OPTIO...

  • 10.25枚举

    importFoundation //swift:枚举 //不用跟整型数字关联,默认也没有跟整型数字关联 //可以...

  • [iOS] 枚举 位运算的转换

    封装工具时, 使用不能定位第三方的枚举比如 SDWebImage 所以 外部定义枚举 内部转换 相关文章 iOS开...

  • 枚举

    枚举 枚举就是专门用来表示几种固定类型的取值 枚举的本质就是基本数据类型,整型 枚举类型定义格式 定义枚举类型变量...

  • swift学习笔记三

    一、枚举 1.枚举语法 和C语言和Objectect语言不同,swift语言的枚举不提供默认的整型值多个枚举成员在...

  • 枚举保存到数据库中为序号解决方案

    普通枚举转换配置 枚举类 枚举转换类 @Converter(autoApply = true)自动适应 在实体类中...

网友评论

    本文标题:iOS·枚举与整型转换

    本文链接:https://www.haomeiwen.com/subject/sikfwftx.html