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

objc的字符串变量中拼入宏


在objec字符串中将宏常量用双引号扩起来就可以了。

objc字符串中的连续两个""会被省略。


#define TABLE_NAME @"table_name"
#define TABLE_NAME_C "table_name"


- (void)viewDidLoad {


    NSString* sql0 = @"select * from table_name";
    
    NSString* sql1 = @"select * from "TABLE_NAME_C "";
    NSLog(@"%@",sql1);
    
    NSString* sql2 = @"select * from TABLE_NAME";
    NSLog(@"%@",sql2);
    
    NSString* sql3 = @"select * from "TABLE_NAME "";
    NSLog(@"%@",sql3);
    
    NSLog(@"sql0和sql1是否相等:%@",[sql0 isEqualToString:sql1] ? @"是": @"否");
    NSLog(@"sql0和sql2是否相等:%@",[sql0 isEqualToString:sql2] ? @"是": @"否");
    NSLog(@"sql0和sql3是否相等:%@",[sql0 isEqualToString:sql3] ? @"是": @"否");
}


输出:
2016-04-06 10:22:02.656 Test[2047:43308] select * from table_name
2016-04-06 10:22:02.656 Test[2047:43308] select * from TABLE_NAME
2016-04-06 10:22:02.656 Test[2047:43308] select * from table_name
2016-04-06 10:22:02.657 Test[2047:43308] sql0和sql1是否相等:是
2016-04-06 10:22:02.657 Test[2047:43308] sql0和sql2是否相等:否

2016-04-06 10:22:02.657 Test[2047:43308] sql0和sql3是否相等:是


参考:
http://stackoverflow.com/questions/8844981/how-to-expand-a-macro-into-nsstring-without-using-any-string-concatenation-at-ru
http://stackoverflow.com/questions/798221/c-macros-to-create-strings



相关文章:

  • 推荐一个在线的三维电子地图站点
  • Collection NSArrayM was mutated while being enumerated
  • 数学之美 系列八-- 贾里尼克的故事和现代语言处理
  • 数学之美 系列十七(上) 不要把所有的鸡蛋放在一个篮子里 -- 谈谈最大熵模型...
  • 两个iCarousel联动
  • 数学之美 系列一 -- 统计语言模型
  • 和java的DES/ECB/PKCS5Padding相同的objc实现方式
  • 数学之美 系列二 -- 谈谈中文分词
  • DZNEmptyDataSet实现的分析
  • 数学之美 系列三 -- 隐含马尔可夫模型在语言处理中的应用
  • 设置status bar字体颜色的优化方案
  • 使UILabel垂直考上对齐
  • 数学之美系列五 -- 简单之美:布尔代数和搜索引擎的索引
  • 为什么layer的mask属性和photoshop的mask不一样
  • 数学之美系列 4 -- 怎样度量信息?
  • [Vue CLI 3] 配置解析之 css.extract
  • Cumulo 的 ClojureScript 模块已经成型
  • Effective Java 笔记(一)
  • github从入门到放弃(1)
  • Java 多线程编程之:notify 和 wait 用法
  • JS 面试题总结
  • Lucene解析 - 基本概念
  • Otto开发初探——微服务依赖管理新利器
  • use Google search engine
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • Vue2.0 实现互斥
  • zookeeper系列(七)实战分布式命名服务
  • 面试遇到的一些题
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • # Apache SeaTunnel 究竟是什么?
  • #在 README.md 中生成项目目录结构
  • $refs 、$nextTic、动态组件、name的使用
  • (windows2012共享文件夹和防火墙设置
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (轉貼) UML中文FAQ (OO) (UML)
  • (状压dp)uva 10817 Headmaster's Headache
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .Net 中Partitioner static与dynamic的性能对比
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .net下简单快捷的数值高低位切换
  • @DataRedisTest测试redis从未如此丝滑
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • @transaction 提交事务_【读源码】剖析TCCTransaction事务提交实现细节
  • @Transaction注解失效的几种场景(附有示例代码)
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [100天算法】-目标和(day 79)
  • [20180129]bash显示path环境变量.txt
  • [Bzoj4722]由乃(线段树好题)(倍增处理模数小快速幂)