代码之家  ›  专栏  ›  技术社区  ›  Michael Waterfall

从@synchronized块内的方法返回

  •  11
  • Michael Waterfall  · 技术社区  · 16 年前

    我只想知道是否有人建议 return @synchronized 封锁?例如:

    - (id)test {
       @synchronized(self) {
          if (a) return @"A";
          else return @"B";
       }
    }
    

    与以下相反:

    - (id)test {
       NSString *value;
       @synchronized(self) {
          if (a) value = @"A";
          else value = @"B";
       }
       return value;
    }
    

    此示例相当简单,但有时在复杂的方法中,能够从 @已同步 块。

    1 回复  |  直到 12 年前
        1
  •  11
  •   matm    13 年前

    很好。 @synchronized 意识到 return 声明。

    (参考文献: http://www.thaesofereode.info/clocFAQ/#sync-advs - 死链接
    (参考文献: http://nextstep.sdf-eu.org/clocFAQ/#sync-advs - 此链接引用在死掉的链接上方,可能不是最新的,正如其标题所示。