2013-04-25 4 views
23

Şimdi bir full support for KVO var, kimse herhangi bir RACSignal'ı DataSource olarak alan değişken tablo görünümü yaptı? İdeal olarak herhangi bir yapılandırma gerektirmeyen bir şey.Hiç kimse bir RACSignal'a dayanarak kendini güncelleyen değişken tablo görünümü yaptı mı?

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

Tablo görünümünün içeriği, yalnızca nesnelerin bir koleksiyonu değil, daha çok şey var: yükseklik, bölüm, başlık, özel hücre,… Böylece tablo görünümünü tam olarak yapılandırmak için çok daha fazla şey yapmanız gerekecektir. – Tricertops

+0

Sadece yeniden yükleme, ekleme, çıkarma ve hücrelerin taşınmasını istiyorsunuz, bu genellikle yaptığım şeydir, ama yine de: Her tablo o kadar farklı ki, bunun için evrensel bir durum bulamadım. – Tricertops

+0

Maalesef, bu soru görünüm değil, veri ve koleksiyon gözlemcileri hakkındaydı. ReactiveCocoa, Nimbus ve [CueTableReloader] (https://github.com/Cue/CueTableReloader) gibi bir şeyi kullanarak, bir model koleksiyonunu değiştirdiğinizde otomatik olarak yeniden düzenlenmiş bir tablo görünümü oluşturabilirsiniz. . – Michael

cevap

2

ReactiveCocoa 3.0 (şu anda geliştirilmekte olan), UITableView üzerinde yalnızca bunu yapan bir kategori ekler.

Birkaç hafta içinde güncellenen değil, ama bunun için erken bir podspec yapılan

: https://gist.github.com/adlai-holler/ae321c3398d7db9a55c0

+2

Artık bulamıyor –

2

Evet, bir sinyale bir tablo görünümü bağlayan bir 'bağlayıcı yardımcı' oluşturduk:

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

aşağıda gösterildiği gibi hücre, bir uç tanımlanır tablo görünümüne bir sinyal bağlamak için kullanabilir

:

// 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]; 

Yukarıdaki örnekte tablo görünümü, RACObserve(self.viewModel, searchResults) aracılığıyla bir görünüm modelinde NSArray özelliğine bağdır, ancak bir dizi yayan herhangi bir RACSignal, yalnızca iyi bir şekilde bağlanır.

+0

Kesilebilir verileri tam olarak destekleyen bir şey arıyordum, bu yüzden cevabınızı bulamadım. Holler'in cevabını da reddettim çünkü konuştuğu kategoriyi bulamıyorum ve RC 3.0 henüz piyasaya sürülmedi. – Michael

+0

no problem - "değiştirilebilen verileri tamamen destekleyen" bir şey aradığınızı belirtiyorsunuz. Sadece birazcık genişletebilir misin diye merak ediyorum. Hangi spesifik senaryoyu desteklemek istiyorsunuz? – ColinE

+0

Kaynak diziden hem ekleme hem de çıkarma, uygun tablo hücresi animasyonlarına neden olmalıdır. Karışık toplu ekleme/kaldırma işlemi ayrıca tablodaki "beginUpdates" ve "endUpdates" seçeneklerini de içermelidir. – Michael