Jump to content

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Photo
- - - - -

weak self w bloku z computed property


  • Please log in to reply
No replies to this topic

#1 OneGhost

OneGhost
  • 296 posts

Posted 12 March 2016 - 09:38

Czy w bloku który jest zwracany przez computed property powinienem stosować weak self? Mam klasę A, w której jest zdefinowane:

    var defaultFinishBlock: ((NSURLSession, NSData?, NSURLResponse?, NSError?) -> ())? { return nil }

Klasy dziedziczące po A nadpisują defaultFinishBlock. Czy powinienem w definicjach tych bloków stosować weak self? Wydaje mi się, że nie, ponieważ jako że jest to computed property nie ma mowy o referencji do tego bloku, ale chciałem się upewnić. Przykładowo:
 
    override var defaultFinishBlock: ((NSURLSession, NSData?, NSURLResponse?, NSError?) -> ())? {

        return { [weak self, deviceToken] (session, data, response, error) in

            ...

        }

    }

 
Czy weak self jest tu zbędne? Chociaż z drugiej strony to jeśli przypiszę wartość tego do jakiejś innej zmiennej, to wtedy powstanie retain cycle tak? Np.
 
var ref = defaultFinishBlock
 
Prawdopodobnie coś takiego nie będzie miało miejsca, ale na wszelki wypadek pewnie lepiej zostawić weak self?

Edited by Damian Dudycz, 12 March 2016 - 09:59.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users