3 回答
TA贡献1775条经验 获得超8个赞
有两种方法可以在多行上拆分字符串:
使用\
C中的所有行都可以使用\分割成多行。
平原C:
char *my_string = "Line 1 \
Line 2";
Objective-C的:
NSString *my_string = @"Line1 \
Line2";
更好的方法
有一种更好的方法适用于字符串。
平原C:
char *my_string = "Line 1 "
"Line 2";
Objective-C的:
NSString *my_string = @"Line1 "
"Line2"; // the second @ is optional
第二种方法更好,因为没有包含很多空白。但是,对于SQL查询,两者都是可能的。
注意:使用#define,您必须添加一个额外的'\'来连接两个字符串:
平原C:
#define kMyString "Line 1"\
"Line 2"
TA贡献1808条经验 获得超4个赞
你可以用预处理器做一个技巧。
它有潜在的缺点,它会崩溃白色空间,并且可能会让阅读代码的人感到困惑。
但是,它有一个好处,你不需要在其中转义引号字符。
#define QUOTE(...) #__VA_ARGS__const char *sql_query = QUOTE( SELECT word_id FROM table1, table2 WHERE table2.word_id = table1.word_id ORDER BY table1.word ASC);
预处理器将其转换为:
const char *sql_query = "SELECT word_id FROM table1, table2 WHERE table2.word_id = table1.word_id ORDER BY table1.word ASC";
当我编写一些包含JSON的大型文字字符串的单元测试时,我已经使用过这个技巧。这意味着我没有必要逃避每个引用字符“。
TA贡献1827条经验 获得超4个赞
你也可以进入XCode - > Preferences,选择Indentation选项卡,然后打开Line Wrapping。
这样,您就不必再输入任何额外内容,它将适用于您已编写的内容。:-)
但令人烦恼的是......
if (you're long on indentation
&& short on windows) {
then your code will
end up squished
against th
e side
li
k
e
t
h
i
s
}
- 3 回答
- 0 关注
- 542 浏览
添加回答
举报