2
我碰到過this有趣的文章,關於一個晦澀的(至少對我來說)Clang GCC擴展。Clang GCC擴展 - 括在圓括號中的塊返回一個值
他們說,用括號括起來的塊返回一個值,像...
UIButton *button = ({
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self action:@selector(someSelector:)
forControlEvents:UIControlEventTouchUpInside];
button;
});
這是很難找到這個文件(有在網上和在鏘的網站非常少)。
有誰知道它是否安全使用?如果不是,爲什麼?
此外,它是否會導致保留循環像Objective-C塊?
聽起來很 「冒險」。你認爲在Objective-C中(使用Clang編譯器)使用它會成爲麻煩的祕訣嗎? –
我期望臨時對象的文檔中的註釋也適用於Objective-C,但這是一個猜測。 Clang(除非開發人員重新設計這個設計)與gcc有相同的限制。 –