• IOS开发中常量的处理


     IOS开发中,文本解析,键值处理等都会用到常量
    
    项目中大部分的处理都是用的C的预处理#define来处理常量
    ,比如:
    
    #define ELEMENT        “element”
    #define NODE             "node"
    复制代码
    等到用的时候,直接加入这个头文件就可以了。
        
        但是有问题,因为这样定义出来的常量值是c字符串,不能直接使用OBJC中NSString类中提供的方法,很是不方便,所以博主写了可以这样做:
    #import 
    extern NSString * const kInitURL;
    @interface Constants : NSObject { 可以省略
    }
    @end
    复制代码
    这里使用到extern c关键字,表示这个变量已经声明,只是引用。const关键字表示变量是常量,不可修改。
        然后在.m文件中可以这样写
    #import "Constants.h"
    NSString * const kInitURL = @"http://marshal.easymorse.com";
    @implementation Constants  可以省略
    @end 但宏定义有局限性,没办法表示诸多的数据类型,另外编程规范中也不推荐大量的使用宏定义,所以博主的方法看来确实是最佳实践之一,其实除此以外也有很多方法可以用,比如不使用const关键字,也可以使用static关键字定义静态变量。都可以,无论哪种方法都可以实现功能,方法优劣只能在易用性,可读性和执行效率上体现出来,
  • 相关阅读:
    leetcode 3.回文数
    vue系列 url的hash和HTML5的history
    并发编程 六 支付接口并发
    python+uvicorn+fastapi (一) 认识与第一个DEMO
    并发编程四(4) 线程同步 Condition
    vue系列 vuerouter安装配置呈现DEMO
    leetcode 6.有效的括号
    leetcode 1.两数之和
    AIRTEST 剑与远征 推图脚本
    leetcode 2.整数反转
  • 原文地址:https://www.cnblogs.com/mshong1616/p/5117127.html
Copyright © 2020-2023  润新知