Mi chiedevo se è possibile memorizzare un riferimento a una funzione anonima (blocco) come una variabile di istanza in Objective-C.Riferimento di blocco come var di istanza in Objective-C
So usare la delega, l'azione di destinazione, ecc. Non sto parlando di questo.
c'è un modo per avere un tipo generico per un blocco? Odio che ho bisogno di avere un typedef lì. –
@Jacob si, puoi fare: 'void (^) (void)' (o qualsiasi altra firma di blocco che ti serve) ovunque vedi 'MyCustomBlockType'. Tuttavia, * prometto * che l'uso di 'typedef' renderà le cose molto più facili da far durare nel lungo periodo. Tuttavia, non c'è modo di dire "qualsiasi blocco con qualsiasi valore di ritorno e qualsiasi parametro." Devi essere esplicito sulla firma –
@Jacob Sei ancora limitato dal sistema di tipo C. Non esiste un blocco "generico" , anche se in C++ potresti essere in grado di fare cose piuttosto ingegnose con modelli e blocchi. Più realisticamente, digitare 'id' è generico rispetto ai tipi Objective-C, quindi prendere e restituire (eventualmente nil)' id' ' s ti dà un sacco di flessibilità –