Ho trovato una linea dispari di codice nel progetto REActivityViewController su GitHub e non riesco a capirlo. Sembra evitare di trasmettere il valore alla classe esatta in cui è stato dichiarato, ma non so perché sarebbe necessario. Mi chiedo se sia in qualche modo importante per l'eredità.Spiegazione di autoassegnazione debole usando __typeof
Qualcuno può spiegare perché questo sarebbe stato fatto?
__typeof(&*self) __weak weakSelf = self;
mi piacerebbe fare questo più chiaro dichiarando in questo modo ...
id __weak weakSelf = self;
E poi all'interno del blocco posso ridichiarare come un riferimento forte.
REPocketActivity* __strong strongSelf = (REPocketActivity*)weakSelf;
Quindi vorrei utilizzare strongSelf
all'interno del blocco. Quando esce dal campo di applicazione, rilascia il riferimento sicuro in modo sicuro.
Gabriele, sembra una spiegazione ragionevole. Vorrei poter sintassi Google come questo per ottenere un contesto. – Brennan