iOS定义长字符串的实用宏

简介: 今天在看WebViewJavascriptBridge源码的时候发现一个神奇的宏,在定义较长字符串时很实用。举个例子,将一段js代码存到一个变量,为了便于阅读需要加入换行,需要在每行结束加上\。

今天在看WebViewJavascriptBridge源码的时候发现一个神奇的宏,在定义较长字符串时很实用。
举个例子,将一段js代码存到一个变量,为了便于阅读需要加入换行,需要在每行结束加上\

NSString *str = @"function() { \
    if (window.WebViewJavascriptBridge) { \
        return; \
    } \
})(); \
    ";

这时,可以用宏来优化。

#define LONG_STRING_DEFINE(x) #x
NSString *str = @LONG_STRING_DEFINE(function() {
    if (window.WebViewJavascriptBridge) {
        return;
    }
})();
    );

宏展开后代码如下

NSString *str = @";(function() { if (window.WebViewJavascriptBridge) { return; })();";

用Xcode看宏展开

打开Assistant Editor,选择Preproces,就可以看到展开的宏。

img_389a36efdb8b7ce2e02e1e2d5d77f165.jpe
15396963641371.jpg
目录
相关文章
|
2月前
|
Swift iOS开发
6-7|IOS如何定义一个类
6-7|IOS如何定义一个类
|
6月前
|
iOS开发
iOS中如何显示后台返回的带有html标签的富文本字符串
iOS中如何显示后台返回的带有html标签的富文本字符串
61 0
|
6月前
|
安全 Java Android开发
iOS代码安全加固利器:深入探讨字符串和代码混淆器的作用
iOS代码安全加固利器:深入探讨字符串和代码混淆器的作用
72 0
|
6月前
|
安全 Java Android开发
iOS代码安全加固利器:深入探讨字符串和代码混淆器的作用
在网上搜“代码混淆”关键词,可以看到n多教程。包括本篇博客,大部分重要内容也是从网上各位大神的博客里面看到然后摘取和总结出来的。虽然网上都有,但是对于我个人来说,很难找到一篇博客概括完全的,所以还是总结一下,也算是学习的纪录。
|
iOS开发
iOS HTML转字符串
iOS HTML转字符串
109 0
|
iOS开发
iOS 检测字符串中数字个数、特殊符号个数
iOS 检测字符串中数字个数、特殊符号个数
173 0
|
iOS开发
iOS 检测字符串中是否含有数字、特殊符号
iOS 检测字符串中是否含有数字、特殊符号
383 0
|
iOS开发
iOS 检测字符串中是否含有字母、大写字母、小写字母
iOS 检测字符串中是否含有字母、大写字母、小写字母
331 0
|
iOS开发
iOS开发 - 系统导航栏左右上角按钮如何不需要定义就可以添加小红点
iOS开发 - 系统导航栏左右上角按钮如何不需要定义就可以添加小红点
171 0
|
iOS开发
iOS开发 - 不用copy修饰的字符串属性什么情况下不安全
iOS开发 - 不用copy修饰的字符串属性什么情况下不安全
90 0