2014-06-17 10 views
5

Ho un gruppo di pulsanti contenenti UICollectionViewCells. Per qualche motivo, il mio segnale si rifiuta di sparare quando un pulsante si trova all'interno di un UICollectionViewCell. Passare alla normalità addTarget:action:forControlEvents: funzionerà, ma non il segnale RAC. Questo è successo in 2 diverse viste di raccolta e in 2 diverse celle di raccolta personalizzate.rac_signalForControlEventi che non segnalano in un UICollectionViewCell

Tutto quello che sto facendo è:

[[cell.button rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) { 
     // code to be executed here, which doesn't happen 
}]; 

Che cosa mi manca?

+0

Stai impostando 'rac_signal' in' tableView: cellForRow: atIndexPath' o nel 'init' della cella? –

+0

Ho un metodo di installazione personalizzato che viene chiamato durante 'collectionView: cellForItemAtIndexPath:'. Quindi sì, i pulsanti ci sono. – MishieMoo

+1

Questo non suona come un problema specifico di ReactiveCocoa. Puoi includere parti rilevanti del tuo metodo di configurazione personalizzato nella tua domanda? – erikprice

risposta

1

prova:

[[[cell.button rac_signalForControlEvents:UIControlEventTouchUpInside] 
    takeUntil:cell.rac_prepareForReuseSignal] 
    subscribeNext:^(id x) { 
     // code to be executed here, which doesn't happen 
    }]; 
+0

Questo assicurerebbe solo che la stessa cella non si abboni più di una volta, il che sarebbe la causa del problema opposto a quello incontrato. –

0

io non ho abbastanza fama di commentare quindi mi limito a commentare qui. Sembra che ci sia qualcosa di sbagliato nell'istanza del pulsante che sta causando il non innesco del segnale. Come vengono istanziati i pulsanti e in quale punto dello tableView:cellForRow:atIndexPath si sta sottoscrivendo il segnale.

Problemi correlati