美文网首页
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