consideri:proprietà Copia e Block_copy (myBlock)/[copia myBlock]
typedef void (^select_block_t)(UIView *) ;
(1) @property (copy, nonatomic) select_block_t myBlockProperty ;
(2) @property (strong, nonatomic) select_block_t myBlockProperty ;
(3) @property (assign, nonatomic) select_block_t myBlockProperty ;
e:
(A) self.myBlockProperty = ^(UIView *) {NSLog(@"Hi");} ;
(B) self.myBlockProperty = [^(UIView *) {NSLog(@"Hi");} copy] ;
che sto cercando di capire che cosa è il modo corretto per mappare cui dichiarazione di proprietà con la quale semantica blocco copia
ho visto esempi here su S.O. che favorisca [1: B]
012.Ma poi sono confuso da quanto ridondante è l'operazione di "copia". La mia comprensione limitata è che [1: A] dovrebbe essere corretto, perché voglio il blocco da copiare una volta quando assegno la proprietà, non una volta alla creazione del blocco e poi ancora una volta al momento dell'assegnazione della proprietà.
[3: B] avrebbe anche senso secondo il mio razionale. Quindi, cosa sto fraintendendo?
Aspetta, hai appena visto il tuo tag _automatic-ref-counting_, stai usando ARC? – joerick
Sì, sto usando ARC. – verec
@verec Ho aggiornato la mia risposta. Fammi sapere se hai qualche domanda, non sono sicuro di quanto sia stato chiaro! – joerick