iOS在Objective-C中构build和返回对象的这种方法的名称

我试图找出这种编码风格是什么,它是一个内联块? 内联范围? 什么? 当遇到这些问题时,编译器会创build什么…

- (UIView *)createMyView { return ({ UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 0)]; /* set some stuff up on the view; */ view; }); } 

我问,因为我们在崩溃日志中获得了很多cxx_destruct调用,其行数大于文件的实际大小。 我想知道这种编码方式是否增加了一些奇怪的东西,它的方式。

这是一个“声明expression式”,这是一个GCCfunction(由Clang所理解),请参阅http://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html

用括号括起来的复合语句可以在GNU C中以expression式的forms出现。这允许您在expression式中使用循环,开关和局部variables。

expression式的值是复合语句中最后一个子expression式的值。