为何在此使用复合语句?

时间:2015-01-19 15:11:03

标签: ios objective-c cocoa-touch

以下是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) {

这里的复合语句{...}是什么?

3 个答案:

答案 0 :(得分:1)

有时我也会将语句分组为块,以简单地显示强大的链接。可能程序员这样做是为了显示锁的范围。

答案 1 :(得分:0)

据我所知,在那里使用复合语句没有任何好处。

如果它是C ++并且锁定对象是在块中定义并使用RAII语义(在销毁时自动解锁的地方),那就有意义了。然而,就目前而言,它没有意义。

答案 2 :(得分:0)

复合语句是由大括号包围的一系列语句,在此构造中,括号围绕大括号。 正如我所看到的,在您的示例中,括号仅用于代码可读性。