zoukankan      html  css  js  c++  java
  • FOUNDATION_EXPORT和#define定义常量

    应该使用FOUNDATION_EXPORT还是#define来定义常量?

    一般iOS我们定义常量的方法有两种,来看下面例子
    我的.h文件

    FOUNDATION_EXPORT NSString * const kMyConstantString;  
    FOUNDATION_EXPORT NSString * const kMyConstantString2;

    .m文件是这样定义的

    NSString * const kMyConstantString = @"Hello";
    NSString * const kMyConstantString2 = @"World";

    还有一种是常用的#define方法了

    #define kMyConstantString @"Hello"

    有什么区别呢?
    使用第一种方法在检测字符串的值是否相等的时候更快.对于第一种你可以直接使用(stringInstance == MyFirstConstant)来比较,而define则使用的是这种.([stringInstance isEqualToString:MyFirstConstant])
    哪个效率高,显而易见了.第一种直接比较的是指针地址,而第二个则是一一比较字符串的每一个字符是否相等.

  • 相关阅读:
    access 连接数据库
    Debug 和 Release 的区别
    Centos
    打印画面
    读取文件夹以及消除
    常用的文件文件夹目录的操作函数
    db的操作
    从数据库取数据
    pdf文件的作成
    读取文件
  • 原文地址:https://www.cnblogs.com/wenqian/p/6123128.html
Copyright © 2011-2022 走看看