常量的处理

本文探讨了在Objective-C开发中通过改进常量定义方式,利用驼峰命名法和Objective-C字符串类型,实现更便捷地调用NSString类方法,提升代码可读性和开发效率。同时对比了宏定义的局限性,并提出使用const关键字或static关键字作为替代方案。

IOS开发中,文本解析,键值处理等都会用到常量,跟博主一样,项目中大部分的处理都是用的C的预处理#define来处理常量
,比如:

define ELEMENT “element”

define NODE “node”

等到用的时候,直接加入这个头文件就可以了。

但是有问题,因为这样定义出来的常量值是c字符串,不能直接使用OBJC中NSString类中提供的方法,很是不方便,所以可以这样做:

import

import “Constants.h”

NSString * const kInitURL = @”http://marshal.easymorse.com“;

@implementation Constants

@end
这里用了驼峰命名法,但既然是用作常量的,最好还是按照规范全部都大写,以示区别,比如K_INIT_URL,当然写成什么无所谓,关键看团队的编程习惯和约定。

这样写完后,就可以在引入头文件之后直接用了,而且还可以使用NSString类提供的诸多方法。比如
[myURL isEqualToString:kInitURL];
试了一下博主的方法,确实比原来使用宏定义要方便的多,扩展开来,其实单纯从字符串来说,宏定义也不是不可以实现,我们可以直接将字符串定义成OBJC类型的,比如:

define ELEMENT @“element”

define NODE @“node”

这样同样可以实现直接使用NSString类提供的方法,大家可以试试看,是不是很方便。

但宏定义有局限性,没办法表示诸多的数据类型。另外编程规范中也不推荐大量的使用宏定义,其实除此以外也有很多方法可以用,比如不使用const关键字,也可以使用static关键字定义静态变量。都可以,无论哪种方法都可以实现功能,方法优劣只能在易用性,可读性和执行效率上体现出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值