今天发现一个代码的有趣写法
NSString *str = ({
NSString *temp = @"123";
。。。。
temp;
});
NSLog("%@", str);
返回的是temp的值。
如何解释这样子的写法?
块的最后是temp,然后再包一层() 则类似于(temp)这样的返回值
疑问是:为何{}会返回最后一个表达式的结果
这里如果把()去掉则会很奇怪的报错 : Unexpected interface name 'NSString': expected expression