возврат изнутри блока @synchronized в target-c - PullRequest
26 голосов
/ 27 декабря 2010

Может кто-нибудь сказать мне, нормально ли возвращаться из блока @synchronized?

Например:

    - (id)methodThatReturnsSomething:(BOOL)bDoIt
    {
        @synchronized(self) {      

             if(!bDoIt) return nil;
             ...
        }
    }

или мне сначала нужно разблокировать блок (вместо этого используйте NSLock)

1 Ответ

29 голосов
/ 27 декабря 2010

@synchronized автоматически снимет свой контекст обработки исключений при возврате и снимет блокировку.Итак, код, который вы написали, в порядке.

...