前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Swift 宏定义与代码标记

Swift 宏定义与代码标记

作者头像
Originalee
发布于 2018-08-30 02:40:39
发布于 2018-08-30 02:40:39
2.3K00
代码可运行
举报
文章被收录于专栏:编程之旅编程之旅
运行总次数:0
代码可运行

Swift中的”宏”

Objective-C的时候常常会用到各种宏定义,但是Swift中貌似没有宏的这种定义,更多的是通过全局常量或者全局函数来实现这一效果.我们只需要建立一个文件(假设为Const.swift),把想用的定义在里面,无须导入头文件什么的,就可以在全局用啦.

举几个简单的例子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import UIKit
import Foundation

/**
*   替代oc中的#define,列举一些常用宏
*/

// 屏幕的物理宽度
let kScreenWidth = UIScreen.mainScreen().bounds.size.width
// 屏幕的物理高度
let kScreenHeight = UIScreen.mainScreen().bounds.size.height

/**
*   除了一些简单的属性直接用常量表达,更推荐用全局函数来定义替代宏
*/
// 判断系统版本
func kIS_IOS7() ->Bool { return (UIDevice.currentDevice().systemVersion as NSString).doubleValue >= 7.0 }
func kIS_IOS8() -> Bool { return (UIDevice.currentDevice().systemVersion as NSString).doubleValue >= 8.0 }

// RGBA的颜色设置
func kRGBA (r:CGFloat, g:CGFloat, b:CGFloat, a:CGFloat) -> UIColor {
    return UIColor(red: r/255.0, green: g/255.0, blue: b/255.0, alpha: a)
}

// App沙盒路径
func kAppPath() -> String! {
    return NSHomeDirectory()
}

// Documents路径
func kBundleDocumentPath() -> String! {
    return NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true).first as! String
}

// Caches路径
func KCachesPath() -> String! {
    return NSSearchPathForDirectoriesInDomains(.CachesDirectory, .UserDomainMask, true).first as! String
}

Swift中的”#pragma mark”

在今天初用Swift编码时,我发现平时很习惯的 #pragma mark 不见了,去查了资料才发现Swift中这个也改了,现在Swift中的用法如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// MARK: - XXXXXX    相当于#pragma mark - XXXXXX

// TODO: XXXXXX      相当于#pragma mark XXXXXX

// FIXME: XXXXXX     相当于额....随意了

如果MARK后不加 - ,那么就不会有分割线效果
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016.08.01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CentOS7 离线安装 Nginx 1.6.2 和 反向代理
Nginx官方文档:https://www.nginx.com/resources/wiki/start/
静谧星空TEL
2021/04/27
2.6K0
CentOS7 离线安装 Nginx 1.6.2 和 反向代理
CentOS6.5使用Nginx+Passenger部署Ruby on Rails环境
本文介绍如何使用Nginx+Passenger来部署Ruby on Rails环境,本文使用的操作系统版本是CentOS6.5。 1.安装ruby
星哥玩云
2022/07/04
5900
安装编译nginx
今天老高更新了一下nginx,顺便把nginx的安装编译过程记录一下,分享给大家!
老高的技术博客
2022/12/27
6000
安装编译nginx
【趣学程序】Linux安装Tengine
安装:yum install gcc openssl-devel pcre-devel zlib-devel-y
趣学程序-shaofeer
2019/08/20
1.4K0
一文读懂国产麒麟V10-arm编译安装nginx-1.20.1
Nginx 可以在大多数 Unix Linux OS 上编译运行,并有 Windows 移植版。 Nginx 的1.20.0稳定版已经于2021年4月20日发布,一般情况下,对于新建站点,建议使用最新稳定版作为生产版本,已有站点的升级急迫性不高。Nginx 的源代码使用 2-clause BSD-like license。
QGS
2023/12/10
6.3K0
Nginx开机自启动脚本
#!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 15 # description: NGINX is an HTTP(S) server, HTTP(S) reverse \ # proxy and IMAP/POP3 proxy server # processname: nginx # config: /etc/nginx/nginx
Action
2021/08/20
1.4K0
CentOS6 环境 Nginx自动安装脚本
在CentOS6系列的操作系统上,通过脚本自动化下载Nginx源码,并配置安装Nginx服务,最后将nginx添加到系统服务,可通过“service nginx start”等命令操作nginx服务器。
星哥玩云
2022/07/13
4190
Nginx和PHP-FPM的启动、重启、停止脚本
服务器上的Nginx和PHP都是源码编译安装的,不像ubuntu一样有自带service启动脚本,所以不支持类似以前的nginx (start|restart|stop|reload)了。自己动手丰衣足食。以下脚本应该在RHEL, Fedora, CentOS下都适用。
艳艳代码杂货店
2021/10/29
1.2K0
如何测试Nginx的高性能
Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器;
TestOps
2022/04/04
5130
如何测试Nginx的高性能
MogileFS基于Nginx反向代理实现分布式存储与访问
前言 随着信息社会的发展,越来越多的信息被数据化,尤其是伴随着大数据时代的来临,数据呈爆炸式增长。传统存储在面对海量数据存储表现出的力不从心已经是不争的事实,例如:纵向扩展受阵列空间限制,横向扩展受交换设备限制,节点受文件系统限制等。而分布式存储的出现在一定程度上有效的缓解了这一问题,目前比较流行的分布式文件系统有:GFS、HDFS、GlusterFS、MooseFS、Lustre、TFS、MogileFS和FastDFS等,本文带来的是MogileFS基于Nginx反向代理实现分布式存储与访问 相关介
小小科
2018/05/02
9610
MogileFS基于Nginx反向代理实现分布式存储与访问
Nginx 和 Apache 安装[通俗易懂]
※ 报错 rm: cannot remove 'libtoolT': No such file or directory
全栈程序员站长
2022/09/01
1K0
Nginx服务启动、停止和重启等操作的SHELL脚本
由于使用源码编译安装Nginx,不会像yum install那样自动生成Nginx服务控制脚本,所以需要自己添加一个操作脚本。谷歌上搜了一下,shell脚本的代码基本类似,因此自己稍微整理改动了下。
typecodes
2024/03/29
4110
CentOS 7 源码编译安装 Nginx
https://www.cnblogs.com/visec479/p/5145624.html
晓晨
2018/08/02
9460
Centos7 编译安装Nginx
注:本文转自译:Centos7 编译安装Nginx 教程,如需转载请注明出处,https://www.cnblogs.com/zhuchenglin/p/11773815.html。
lin_zone
2019/11/01
5770
Tomcat基于MSM+Memcached实现Session共享
前言 在Tomcat集群中,当一个节点出现故障,其他节点该如何接管故障节点的Session信息呢?本文带来的解决方案是基于MSM+Memcached实现Session共享。 相关介绍 MSM MSM–Memcached Session Manager是一个高可用的Tomcat Session共享解决方案,除了可以从本机内存快速读取Session信息(仅针对黏性Session)外,同时可使用Memcached存取Session,以实现高可用。 工作原理 Sticky Session(黏性) 模式下的工作
小小科
2018/05/02
7400
Tomcat基于MSM+Memcached实现Session共享
CentOS7下启动Nginx出现Failed to start nginx.service:unit not found
  或者用命令在根目录下执行:# vim /etc/init.d/nginx    (注意vim旁边有一个空格)
Lansonli
2021/10/09
4.8K0
(麒麟V10-arm)编译安装php-7.4及部分依赖
QGS
2023/11/14
7820
Nginx篇--Nginx源码搭建
1.依赖 gcc openssl-devel pcre-devel zlib-devel     安装:yum install gcc openssl-devel pcre-devel zlib-devel -y 2. 安装Nginx ./configure 3. make && make install 默认安装目录: /usr/local/nginx 4.配置Nginx为系统服务,以方便管理 1、在/etc/rc.d/init.d/目录中建立文本文件nginx   2、在文件中粘贴下面的内容:
LhWorld哥陪你聊算法
2018/09/13
9070
简 | 编译安装Nginx
前言 端午节安康~ 好长时间没有更新简书了,之前简书md格式以前不标准的写法竟然不支持了,现在得重新码一份出来~ 为何爱上源码编译安装的方式呢? so simple~ 源码安装可以自定义指定安装路径,可以自定义配置安装配套的库和插件 作为运维的我更加清楚服务器的情况,对以后的维护、升级就更加简易 ---- env & version CentOS 7.2 Nginx 1.12.2 ---- install basic app sudo yum -y install gcc automake auto
AlicFeng
2018/06/19
4790
nginx 编译安装
下面以CentOS为例 编译安装 下载 wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz wget http://nginx.org/download/nginx-1.20.0.tar.gz 编译 # 创建所属用户和组,不创建家目录,不能ssh登录 useradd -M -s /sbin/nologin www ./configure --user=www --group=www --prefix=/data/apps/nginx --conf-pat
崔哥
2022/05/25
4870
推荐阅读
相关推荐
CentOS7 离线安装 Nginx 1.6.2 和 反向代理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文