当前位置: 首页 > news >正文

河北住房和城乡建设局网站碉堡了seo博客

河北住房和城乡建设局网站,碉堡了seo博客,怎么做网站的访问量,长沙县营销型网站建设选哪家前言:本文主要梳理iOS中如何使用常量、enum、宏,以及各自的使用场景。 重要的事情首先说: 在iOS开发中请尽量多使用const、enum来代替宏定义(#define);随着项目工程的逐渐增大,过多的宏定义还可能影响项目的运行速度&a…

前言:本文主要梳理iOS中如何使用常量、enum、宏,以及各自的使用场景。

重要的事情首先说: 在iOS开发中请尽量多使用const、enum来代替宏定义(#define);随着项目工程的逐渐增大,过多的宏定义还可能影响项目的运行速度(这点待考证)

  • 宏定义大家应该都不陌生,使用起来非常简单,首先我们先来看一下宏定义跟const的区别: 1.宏在编译开始之前就会被替换,而const只是变量进行修饰; 2.宏可以定义一些函数方法,const不能 3.宏编译时只替换不做检查不报错,也就是说有重复定义问题。而const会编译检查,会报错

  • 那到底什么时候使用宏,什么时候该使用const?
  • 定义不对外公开的常量的时候,我们应该尽量先考虑使用 static 方式声名const来替代使用宏定义。const不能满足的情况再考虑使用宏定义。比如用以下定义:
static NSString * const kConst = @"Hello";
static const CGFloat kWidth = 10.0;
复制代码

代替:

#define DEFINE @"Hello"
#define WIDTH 10.0
复制代码
  • 当定义对外公开的常量的时候,我们一般使用如下定义:
//Test.h
extern NSString * const CLASSNAMEconst;
//Test.m
NSString * const CLASSNAMEconst = @"hello";
复制代码
  • 对于整型类型,代替宏定义直接定义整型常量比较好的办法是使用enum,使用enum时推荐使用NS_ENUM和NS_OPTIONS宏。比如用以下定义:
typedef NS_ENUM(NSInteger,TestEnum) {MY_INT_CONST = 12345
};
复制代码

代替:

#define MY_INT_CONST 12345
复制代码

NS_OPTIONS定义方式如下:

typedef NS_OPTIONS(NSInteger, SelectType) {SelectA    = 0,SelectB    = 1 << 0,SelectC    = 1 << 1,SelectD    = 1 << 2
};
复制代码

###下面顺便说一下const 的一些使用方式,主要说明这几种写法的区别:

const NSString *constString1 = @"I am a const NSString * string";
NSString const *constString2 = @"I am a NSString const * string";
static const NSString *staticConstString1 = @"I am a static const NSString * string";
static NSString const *staticConstString2 = @"I am a static NSString const * string";
NSString * const stringConst = @"I am a NSString * const string";
复制代码

全局变量:

//全局变量,constString1地址不能修改,constString1值能修改
const NSString *constString1 = @"I am a const NSString * string";
//意义同上,无区别
NSString const *constString2 = @"I am a NSString const * string";
// stringConst 地址能修改,stringConst值不能修改
NSString * const stringConst = @"I am a NSString * const string";
复制代码

constString1 跟constString2 无区别. *左边代表指针本身的类型信息,const表示这个指针指向的这个地址是不可变的 *右边代表指针指向变量的可变性,即指针存储的地址指向的内存单元所存储的变量的可变性


局部常量:

//作用域只在本文件中
static const NSString *kstaticConstString1 = @"I am a static const NSString * string";
static NSString const *kstaticConstString2 = @"I am a static NSString const * string";
//---------------------------
复制代码

总结:不要用宏定义定义常量,能用const,enum替换的以后就少用宏定义吧。有任何问题或者指点请直接留言,欢迎拍砖~最后感谢你的时间~

http://www.lbrq.cn/news/2454427.html

相关文章:

  • 电商网站开发的现状湖南网站建设营销推广
  • 洛阳网红打卡地冯耀宗seo教程
  • 怎么建设淘客自己的网站_手机优化大师官网
  • 泰安房产最新出售信息seo网站自动发布外链工具
  • 网站建设网络工作室搜索引擎营销的实现方法
  • 帮人做彩票网站广州seo顾问seocnm
  • o2o网站建设效果企业宣传推广怎么做
  • 网站建设立项申请书百度注册
  • 网上服装商城网站建设方案策划书seo快排公司哪家好
  • 58同城建设网站北京做的好的seo公司
  • 网站开发用到的编程网页优化seo广州
  • 大型租车门户网站商业版源码发布软文广告
  • 网站后台登录代码优化什么
  • 贵港网站开发视频号视频下载助手app
  • 花生壳做网站看网站时的关键词
  • 网站建设公司 2018网络营销推广机构
  • 河南企业做网站网站百度收录
  • 深圳民治做网站黄石seo诊断
  • 广东省住房城乡建设部网站北京网站优化步骤
  • dw做网站教程今日军事头条新闻
  • 凡客做网站手机访问另一部手机访问文件
  • 北海做网站有哪家好最新今日头条
  • 从事网站建设的工资百度app下载安装普通下载
  • 专业制作存单昆明seo案例
  • 网站做ssl证书有风险友情链接平台赚钱吗
  • 长春seo外包平台宝鸡百度seo
  • 什么是三合一网站建设关键词优化排名软件推荐
  • 企业网站建设招标技术标准seo网站优化师
  • 网站底部素材阿里云云服务平台
  • wap动态网站开发模板建站和开发网站区别
  • 【RHCSA 问答题】第 13 章 访问 Linux 文件系统
  • [2025CVPR-图象分类方向]SPARC:用于视觉语言模型中零样本多标签识别的分数提示和自适应融合
  • Node.js(三)之Express
  • Python 程序设计讲义(21):循环结构——while循环
  • uniapp使用css实现进度条带动画过渡效果
  • VSCode——python选择解释器消失的解决办法