2017-03-01 19 views
5

Có cách nào để thay thế cho phương phápLàm thế nào để thay thế UICollectionViewDelegateFlowLayout bằng một cuộc gọi phản ứng (RxSwift)?

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize 

từ UICollectionViewDelegateFlowLayout giao thức bởi một cái gì đó phản ứng sử dụng RxSwift?

+0

Tôi nghĩ điều đó là không thể. – DragonCherry

Trả lời

0

Phương thức giao thức trả về giá trị được kéo dựa và như vậy không tương thích với triết lý dựa trên đẩy của Rx. Không chỉ hiện tại không thể thay thế phương pháp cụ thể đó bằng một Quan sát được, nó sẽ không bao giờ có thể xảy ra.

Điều tốt nhất bạn có thể làm là triển khai phương pháp bằng cách trả lại giá trị trong một Variable và sử dụng Rx để đẩy dữ liệu vào Variable. Khi chế độ xem bộ sưu tập cần kích thước cho mục được đề cập, nó sẽ yêu cầu nó bằng cách gọi phương thức này.

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