2013-04-25 4 views
23

Ora che c'è un full support for KVO, qualcuno ha creato una vista tabella mutabile che accetta un RACSignal come origine dati? Idealmente qualcosa che non richiede alcuna configurazione.Qualcuno ha effettuato una visualizzazione tabella mutevole autoaggiornante basata su un RACSignal?

RACSignal *commentsSignal; 
UITableView *table = [UITableView new]; 
table.dataSourceSignal = commentsSignal; 
[self.view addSubview:table]; 
// No more basic config 
+1

Il contenuto della vista tabella non è solo una raccolta di oggetti, ma c'è molto di più: altezze, sezioni, titoli, cella personalizzata, ... Quindi sarà necessario fare molto di più per configurare completamente la vista tabella. – Tricertops

+0

Af stai chiedendo solo di ricaricare, inserire, eliminare e spostare celle, quindi questo è quello che faccio di solito, ma ancora: ogni tavolo è così diverso, che non ho trovato un caso universale per questo. – Tricertops

+0

Siamo spiacenti, questa domanda riguarda gli osservatori di dati e di raccolta, non l'aspetto. Usando ReactiveCocoa, Nimbus e qualcosa come [CueTableReloader] (https://github.com/Cue/CueTableReloader), puoi creare una vista tabella che si riorganizza automaticamente quando cambi una collezione di modelli, il tutto in circa 4 righe di codice . – Michael

risposta

2

ReactiveCocoa 3.0 (attualmente in fase di sviluppo) aggiunge una categoria su UITableView che fa proprio questo.

non ho aggiornato in un paio di settimane, ma ho fatto una podspec presto per esso: https://gist.github.com/adlai-holler/ae321c3398d7db9a55c0

+2

Non riesci a trovarlo più –

2

Sì, ho creato un 'aiutante vincolante' che lega una vista tabella per un segnale:

http://www.scottlogic.com/blog/2014/05/11/reactivecocoa-tableview-binding.html

è possibile utilizzare per associare un segnale di visualizzazione per la tabella in cui è definita la cella in un pennino, come illustrato di seguito:

// create a cell template 
UINib *nib = [UINib nibWithNibName:@"CETweetTableViewCell" bundle:nil]; 

// bind the ViewModels 'searchResults' property to a table view 
[CETableViewBindingHelper bindingHelperForTableView:self.searchResultsTable 
         sourceSignal:RACObserve(self.viewModel, searchResults) 
         templateCell:nib]; 

Nell'esempio precedente la vista tabella è vincolata a una proprietà NSArray su un modello di vista tramite RACObserve(self.viewModel, searchResults), tuttavia qualsiasi RACSignal che emette un array si collegherà correttamente.

+0

Stavo cercando qualcosa che supporti completamente i dati mutabili, quindi non ho più votato la tua risposta. Ho anche rifiutato la risposta di Holler perché non riesco a trovare la categoria di cui sta parlando e RC 3.0 non è ancora stato rilasciato. – Michael

+0

nessun problema - hai detto che stai cercando qualcosa che "supporti completamente i dati mutabili". Mi sto solo chiedendo se potresti approfondire un po 'questo? Quale scenario specifico vuoi supportare? – ColinE

+0

Sia l'aggiunta che la rimozione dalla matrice di origine dovrebbero causare animazioni appropriate della cella di tabella. L'aggiunta/rimozione di massa mista dovrebbe anche chiamare 'beginUpdates' e' endUpdates' sulla tabella. – Michael

Problemi correlati