美文网首页
Swift 宏定义的坑

Swift 宏定义的坑

作者: 李美东 | 来源:发表于2017-01-13 16:50 被阅读0次

在我们开发的过程中,为了方便会 定义很多宏定义,像systemColor,systemUrl 之类的,如果是在OC开发的项目中不会出现问题,但是现在是在swift开发中,问题就显现出来了。

我的项目中,登录时,帐号,密码,组织机构ID等等其他一些程序中要用到的东西 都是使用UserDefault存储在本地,然后定义一个宏定义取出来,像这个样子 :

错误的做法

(ToolHelper.swift_GetUserDefaults()是封装的UserDefault取数据的方法),这样在程序运行中是不会有问题的;但是如果你退出了,切换了帐号重新登录,问题就来了:SystemUserPWD 它被定义为一个常量,所以它一旦被赋值就不会再改变,这就导致了 存储在本地的数据已经改变了,但是 SystemUserPWD 还是退出登录以前 的数据,程序中一旦用到这个值就会出问题了。

解决办法就是 SystemUserPWD不要定义为一个 常量,而是定义为一个 方法,像这样:

正确的做法

这样每次使用到它的时候 都是现取值就不会出现问题了。

相关文章

  • swift&&OC

    宏定义 OC中的宏定义 swift中的宏定义 OC中宏定义的方式,在swift中是不可用的,在swift中,宏定义...

  • Swift 宏定义的坑

    在我们开发的过程中,为了方便会 定义很多宏定义,像systemColor,systemUrl 之类的,如果是在OC...

  • Swift 宏定义与代码标记

    Swift中的”宏” 写Objective-C的时候常常会用到各种宏定义,但是Swift中貌似没有宏的这种定义,更...

  • 学习Swift 所遇到的坑系列(1)

    从去年学习swift3,断断续续的学习,遇到了一些坑 1.如何在Swift 中定义宏,或者说,在一个文件中定义整个...

  • Swift-OC混编总结

    一、swift怎么用oc定义的宏?1、在swift中,能直接使用定义为常量的宏,不能使用带有方法调用的宏,也不能使...

  • 宏定义 define

    // 宏定义 define // Swift 中宏定义被去除了,取代的是 let 或者 get 属性 // 例如 ...

  • OC&swift中的宏定义

    在使用OC和swift进行混编时,我们经常会需要在swift中使用OC中的宏定义,但是这些宏定义经常会提示无法找到...

  • Swift学习笔记-1:小马哥微博项目

    ** 宏定义:**Swift中没有宏,使用其他的方法替代宏的功能,创建一个Swift文件:(使用起来和宏基本一样)...

  • 【OC】宏、const、static、extern

    宏 常用字符串,常见基本变量,可以定义为宏苹果推荐使用const,而不是宏(Swift没有宏定义) const 与...

  • swift 宏定义

    首页 创建一个swift项目 (swift4.0) 创建AppConst.swift 写宏 使用宏

网友评论

      本文标题:Swift 宏定义的坑

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