40 lines
1.1 KiB
Swift
40 lines
1.1 KiB
Swift
//
|
|
// SectionedViewDataSourceType.swift
|
|
// Rx
|
|
//
|
|
// Created by Krunoslav Zaher on 1/10/16.
|
|
// Copyright © 2016 Krunoslav Zaher. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
/**
|
|
Data source with access to underlying sectioned model.
|
|
*/
|
|
public protocol SectionedViewDataSourceType {
|
|
/**
|
|
Returns model at index path.
|
|
|
|
In case data source doesn't contain any sections when this method is being called, `RxCocoaError.ItemsNotYetBound(object: self)` is thrown.
|
|
|
|
- parameter indexPath: Model index path
|
|
- returns: Model at index path.
|
|
*/
|
|
func model(_ indexPath: IndexPath) throws -> Any
|
|
}
|
|
|
|
extension SectionedViewDataSourceType {
|
|
/**
|
|
Returns model at index path.
|
|
|
|
In case data source doesn't contain any sections when this method is being called, `RxCocoaError.ItemsNotYetBound(object: self)` is thrown.
|
|
|
|
- parameter indexPath: Model index path
|
|
- returns: Model at index path.
|
|
*/
|
|
@available(*, deprecated, renamed: "model(_:)")
|
|
func model(_ indexPath: IndexPath) throws -> Any {
|
|
return try self.model(indexPath)
|
|
}
|
|
}
|