OC

Knowledge OS
主帖 11 条回复

oc中遇到的特殊语法

lvpw lvpw · 2014年09月01日 · 阅读 5 · 无人欣赏。

self.tableView = ({ UITableView *tableView = [[UITableView alloc] init]; tableview; }); 这是什么语法?

回复

11 条
#4
lvpw
2014年09月02日

3楼 @tinyfool 我也忘了,很像内联函数,最后一句是返回值,我就记得这么多,想了解下这中东西有什么其他作用

#5
千厮门
2014年09月02日

老C语言的风格,可以提高一点点执行效率。不推荐。

#6
vczh
2014年09月02日

4楼 @lvpw 这一开始是gcc的扩展,不是什么内联函数,只是用来给你节省几个语句用的,举个例子: Fuck(123, ({int a=0; for( .. )a+=i; a;}), 456); 的意思就是说 int x = 456; int a = 0; for ( ... ) a+=i; int y = a; int z = 123; Fuck(z, y, x);

#7
vczh
2014年09月02日

@tinyfool 用```装起来的多行代码不能换行是怎么回事,赶快改

#8
tinyfool
2014年09月02日

7楼 @vczh 那是这里的单行代码标记,编辑器工具栏的101010才是多行代码

#9
ljb_iss
2014年09月02日

推荐看一下这个博文 "objc非主流代码技巧"link text 的 [C]小括号内联复合表达式

这种语法就像屠龙刀,杀个鸡就别用了。

本帖有11个回复,因为您没有注册或者登录本站,所以只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。
登录 或者 注册
顶楼 / 底楼 / 首页