我遇到了this有趣的文章,关于一个模糊的(至少对我来说)Clang GCC扩展。
他们说括号中的一个块会返回一个值,比如......
UIButton *button = ({
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self action:@selector(someSelector:)
forControlEvents:UIControlEventTouchUpInside];
button;
});
很难找到这方面的文件(在网上和Clang网站上都很少)。
有谁知道它是否安全使用?如果没有,为什么?
此外,它是否会导致像Objective-C块一样的保留周期?