美文网首页
OC项目逐渐向swift转移--踩坑淌雷- 替换宏定义 -1

OC项目逐渐向swift转移--踩坑淌雷- 替换宏定义 -1

作者: PittWong | 来源:发表于2016-07-06 10:35 被阅读33次

    在OC中常用的宏定义 往往用于动态计算 如下:

    #define identityId0                         16//补货员
    #define identityId1                         5050//合伙人
    #define identityId2                         1050//维修工程师
    #define kCurrentIdentityId                   @"kCurrentIdentityId"
    #define CurrentIdentityId                   [[NSUserDefaults standardUserDefaults] integerForKey:kCurrentIdentityId]
    #define isIdentityId0                       CurrentIdentityId == identityId0
    

    在swift中尝试同样的功能

    let identityId0 =                         16//补货员
    let identityId1 =                        5050//合伙人
    let identityId2 =                        1050//维修工程师
    var CurrentIdentityId =                  NSUserDefaults.standardUserDefaults().integerForKey(kCurrentIdentityId)
    var isIdentityId0 =                      CurrentIdentityId == identityId0
    ------上面的方式是错误的-----只赋值一次,不会参与动态计算 需采用如下方式: 
    
    var CurrentIdentityId :Int {
        return NSUserDefaults.standardUserDefaults().integerForKey(kCurrentIdentityId)
    }
    var isIdentityId0 :Bool {
        return CurrentIdentityId == identityId0
    }
    
    

    相关文章

      网友评论

          本文标题:OC项目逐渐向swift转移--踩坑淌雷- 替换宏定义 -1

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