A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© shmilyAshen 中级黑马   /  2015-4-10 00:27  /  878 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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"是不是很相似?
这是个人的一些猜想,希望大家指正.

5 个回复

倒序浏览
貌似是我发得第一个技术贴,无奈
回复 使用道具 举报
好  不错   学习了   赞一下
回复 使用道具 举报
Sange 发表于 2015-4-10 00:34
好  不错   学习了   赞一下

也不知道对不对............
回复 使用道具 举报
不错!!不错!!
回复 使用道具 举报
蓝鸟 发表于 2015-4-10 12:45
不错!!不错!!

谢谢/////////////
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马