在OC里面 如果 想设置一个全局常量 很简单 使用简单宏定义  就搞定了

例如:

#define    WEBAPIBASEURL  @"http://www.baidu.com/"

或者

#define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width

写在一个.h文件里面  把这个 .h文件 import在预编译XXXX-Prefix.pch处 便随时调用他们了

在swift里面该怎么做呢

首先来说 swift 是脚本语言 不存在 预编译处理器 自然就没有预编译过程,所以说 Swift没有预处理指令

但是脚本语言有脚本语言特点优势同样能实现该功能

swift 定义一个常量 是这样的:

let WEBAPIBASEURL = "http://api.zhbaby.org/api/"
let SCREEN_WIDTH = UIScreen.mainScreen().bounds.size.width

如果 是 一个复杂宏  直接写成一个方法函数即可

然后把这些 全局常量 写在一个xxxx.swift里面  在其他的地方就可以直接调用了 妥妥地 (一般情况下不需要在实施的页面添加import xxxx.swift)

如果是全局变量  类型用 var  去声明即可 ,在需要的时候重新赋值

想说最后一句  开发过程 一定要注意 什么该暴露出来 不该暴露出来 所以 在当前页面 如果 不需要相对于应用整体层级的全局变量 尽量写当前页面的实例变量 切不能随处写一个变量 在开发的任何时候都是觉得 哎~能用就行了  要考虑页面之间关系 写得关系太烂 不利于代码重构与迭代  让别看自己 把代码写成这样 觉得打脸不 啪啪的

swift 全局常量 && 全局变量的写法的更多相关文章

  1. PHP 类中使用全局变量和全局常量

    <?php $global_var = "var"; define('global_const', 'const'); class Test { public $_var; ...

  2. static,const,extern,以及全局常量

    1:全局常量的定义:1:创建Header头文件,再创建与Header头文件类名相同的空文件作为.m文件,.h文件引用文件,.m文件负责定义常量 #import <UIKit/UIKit.h> ...

  3. Java第11次作业:什么是继承?继承的好处?什么是覆写?super()?构造代码块?子父类初始化顺序? 抽象类能用final声明吗?final关键字声明类 方法 变量以及全局常量?抽象类的构造方法?

    什么是继承? 继承是以父类为基础,子类可以增加新的数据或新的功能.子类不能选择性地继承父类.这种技术使得复用以前的代码非常容易. JAVA不支持多继承,单继承使JAVA的继承关系很简单,一个类只能有一 ...

  4. 通过Web.config中的configSections配置自己系统的全局常量

    通过Web.config中的configSections配置自己系统的全局常量 随着系统的庞大,你的全局信息保存在appsitting里可能会比较乱,不如为模块写个自定义的全局常量吧 首先在Web.C ...

  5. mybatis全局属性(全局变量)

    mybatis全局属性(全局变量):方法1:在 properties 元素体内,使用<property>标签定义的属性方法2:在 properties 元素中, 使用 resource 或 ...

  6. 【VBA】全局常量定义

    [说明] 全局常量定义 Public Const RESULT_SHEET As String = "result" Public Const APPROVER_START_CEL ...

  7. 接口的定义——默认加public abstract默认全局常量;与继承不同,子类可以同时实现多个接口;抽象类实现接口;接口继承接口

    一. 接口的定义 接口中定义的方法,全部都为抽象方法,默认加public abstract 接口中定义的变量,全部为全局常量,默认加public static final 二.与继承不同,子类可以同时 ...

  8. swift学习第一天:认识swift以及swift的常量和变量

    一:认识swift // 1.导入框架 //#import <UIKit/UIKit.h> import UIKit // 2.定义一个标识符 // int a = 10; // swif ...

  9. Swift学习--常量.变量.数据类型的使用(一)

    一.Swift中的常量和变量 /* Swift 中定义常量和变量用let/var let 代表定义一个常量 var 代表定义一个变量 Swift 中代表定义常量和变量不需要写数据类型,编译器辉根据我们 ...

随机推荐

  1. Archlinux: 优化触摸板配置

    在逛 Archlinuxcn BBS 时看到这个帖子: fcitx 输入法看不到选词,上面键盘也不见了! 等待妹子的 依云 提到了 infinality, 并且给出了这个链接: fix-infinal ...

  2. 【BIEE】由于排序顺序不兼容,集合操作失败

    问题描述 使用BIEE数据透视表时,使用了UNION进行数据组合,但是在浏览结果时意外出错了,报错如下截图: 问题分析 原因暂时未知 问题解决 目前使用UNION进行聚合,只需要将UNION修改为UN ...

  3. 单机Redis实现分布式互斥锁

    代码地址如下:http://www.demodashi.com/demo/12520.html 0.准备工作 0-1 运行环境 jdk1.8 gradle 一个能支持以上两者的代码编辑器,作者使用的是 ...

  4. linux内核参数分析

    这是原来在51cto写的,现在都转到博客园来了 1.time_wait连接数过多,需要调整内核参数 http://blog.renhao.org/2010/07/setup-linux-kernel- ...

  5. mysql设置主从同步

    1.主从同步定义 主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave).因为复制是异步进行的,所以从服 ...

  6. Hibernate学习之双向一对多映射(双向多对一映射)

    © 版权声明:本文为博主原创文章,转载请注明出处 1.双向映射与单向映射 - 一对多单向映射:由一方(教室)维护映射关系,可以通过教室查询该教室下的学生信息,但是不能通过学生查询该学生所在教室信息: ...

  7. IAR模板--怎样在IARproject中创建和使用模板

    怎样在IARproject中创建和使用模板 1.编辑和使用模板的方式: 路径为:Edit -> Code Templates -> Edit Templates  例如以下图: water ...

  8. 网络启动并安装Debian

    网络启动(PXEBoot)并安装Debian的官方文档在这里,不过官方文档有点冗长,我这里假设已经有一台安装好Debian,需要网络安装另一台(这台可以是虚拟机,通过ISO文件等等方式安装的).PXE ...

  9. hadoop常见算法(持续更新)

    1. 对以下数据进行排序,根据收入减去支出得到最后结余从大到小排序 账号 收入 支出 日期 zhangsan@163.com 6000 0 2014-02-20 lisi@163.com 2000 0 ...

  10. Android内容提供者

    一个应用中的数据库对别人是不会提供直接的访问的,而是提供接口给别人访问,但是一般应用开发的时候都是去获取别人的数据,而不是自己提供数据. 继承ContentProvider: 在Menifest中注册 ...