以下是FBKVOController的摘录。
_FBKVOInfo *info;
{
// lookup context in registered infos, taking out a strong reference
// only if it exists
OSSpinLockLock(&_lock);
info = [_infos member:(__bridge id)context];
OSSpinLockUnlock(&_lock);
}
if (nil != info) {
这里的复合语句{...}是什么?
答案 0 :(得分:1)
有时我也会将语句分组为块,以简单地显示强大的链接。可能程序员这样做是为了显示锁的范围。
答案 1 :(得分:0)
据我所知,在那里使用复合语句没有任何好处。
如果它是C ++并且锁定对象是在块中定义并使用RAII语义(在销毁时自动解锁的地方),那就有意义了。然而,就目前而言,它没有意义。
答案 2 :(得分:0)
复合语句是由大括号包围的一系列语句,在此构造中,括号围绕大括号。 正如我所看到的,在您的示例中,括号仅用于代码可读性。