2013-04-25 24 views
23

Bây giờ có một số full support for KVO, có ai đã thực hiện một chế độ xem bảng có thể thay đổi mà lấy RACSignal làm nguồn dữ liệu của nó không? Lý tưởng nhất là một cái gì đó mà không yêu cầu bất kỳ cấu hình.Có ai đã tự cập nhật chế độ xem bảng có thể thay đổi dựa trên RACSignal không?

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

Nội dung của chế độ xem bảng không chỉ là tập hợp các đối tượng, mà còn nhiều hơn nữa: chiều cao, phần, tiêu đề, ô tùy chỉnh,… Vì vậy, bạn sẽ phải làm nhiều hơn nữa để cấu hình đầy đủ chế độ xem bảng. – Tricertops

+0

Af bạn đang yêu cầu chỉ để tải lại, chèn, xóa và di chuyển các ô, thì đây là những gì tôi thường làm, nhưng một lần nữa: mỗi bảng rất khác nhau, rằng tôi đã không tìm thấy trường hợp phổ quát cho việc này. – Tricertops

+0

Xin lỗi, câu hỏi này là về dữ liệu và các nhà quan sát bộ sưu tập, không xuất hiện. Sử dụng ReactiveCocoa, Nimbus, và một cái gì đó như [CueTableReloader] (https://github.com/Cue/CueTableReloader), bạn có thể tạo một khung nhìn bảng tự động sắp xếp lại chính nó khi bạn thay đổi một tập hợp các mô hình, tất cả trong khoảng 4 dòng mã . – Michael

Trả lời

2

ReactiveCocoa 3.0 (hiện đang được phát triển) thêm danh mục trên UITableView thực hiện điều đó.

tôi chưa cập nhật nó trong một vài tuần, nhưng tôi đã thực hiện một podspec đầu cho nó: https://gist.github.com/adlai-holler/ae321c3398d7db9a55c0

+2

Không thể tìm thấy nó nữa –

2

Vâng, tôi đã tạo ra một 'helper ràng buộc' gắn kết một cái nhìn bảng để một tín hiệu:

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

Bạn có thể sử dụng nó để ràng buộc một tín hiệu để xem bảng mà các tế bào được định nghĩa trong một nib, như hình dưới đây:

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

Trong ví dụ trên, chế độ xem bảng là liên kết với thuộc tính NSArray trên một kiểu xem qua RACObserve(self.viewModel, searchResults), tuy nhiên bất kỳ RACSignal nào phát ra một mảng sẽ chỉ liên kết tốt.

+0

Tôi đang tìm kiếm một cái gì đó hỗ trợ đầy đủ dữ liệu có thể thay đổi, vì vậy tôi đã không upvoted câu trả lời của bạn. Tôi cũng từ chối câu trả lời của Holler vì tôi không thể tìm thấy danh mục anh ấy nói và RC 3.0 chưa được phát hành. – Michael

+0

không có vấn đề - bạn đề cập đến bạn đang tìm kiếm cái gì đó "hỗ trợ đầy đủ dữ liệu có thể thay đổi". Tôi chỉ tự hỏi nếu bạn có thể mở rộng trên đó một chút? Bạn muốn hỗ trợ kịch bản cụ thể nào? – ColinE

+0

Cả hai bổ sung và loại bỏ khỏi mảng nguồn nên gây ra hình ảnh động tế bào bảng thích hợp. Việc thêm/xóa hàng loạt hỗn hợp cũng phải gọi 'beginUpdates' và' endUpdates' trên bảng. – Michael

Các vấn đề liên quan