zoukankan      html  css  js  c++  java
  • 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关键字定义静态变量。都可以,无论哪种方法都可以实现功能,方法优劣只能在易用性,可读性和执行效率上体现出来,
  • 相关阅读:
    zabbix客户端自动注册
    运维监控篇(2)_Zabbix简单的性能调优
    Zabbix unreachable poller processes more than 75% busy
    RabbitMQ 内存控制 硬盘控制
    RabbitMQ的Q&A
    RabbitMQ性能优化
    消息默认的属性
    RabbitMQ的Vhost,Exchange,Queue原理分析
    逻辑运算符(&& || and or)
    面向对象
  • 原文地址:https://www.cnblogs.com/mshong1616/p/5117127.html
Copyright © 2011-2022 走看看