本帖最后由 shmilyAshen 于 2015-4-10 00:34 编辑
大家都知道, OC 中在字符串前面需要加一个@,至于这个是为什么么?
突发奇想试了一下
char *test = "justForTest"; NSLog(@(test));
神奇的东西出现了.
再转过来一想,原来如此.
OC 完全兼容 C, 所有"justForTest"肯定代表 C 的字符串,我们知道 C 和 OC 字符串是不同的,在学习 Foundation 框架的时候使用了 NSUTF8String将两者互换.
那么为什么 C 字符串加个@就变成 oc 的呢?
我猜
@10 //不要告诉我你不知道这个是啥
int a = 10;
@(a) //这个 M 了个 J 也讲了
上面两个大家都熟悉吧.那么@"justForTest"是不是很相似?
这是个人的一些猜想,希望大家指正.
|