AbstractTableDataSource
@available(*, deprecated, message: "Migrate to `TableDataSource` https://github.com/stanwood/SourceModel_iOS")
open class AbstractTableDataSource : NSObject, UITableViewDataSource, TableDataSource, DataSourceType
The AbstractTableDataSource conforms to the TableDataSource protocol and implements AbstractTableDataSource.numberOfSections(in:) and AbstractTableDataSource.tableView(_:numberOfRowsInSection:). It midiates the application data model DataType and Type for the UITableView.
It is requried to subclass
AbstractTableDataSourceand overrideAbstractTableDataSource.tableView(_:cellForRowAt:)
Example: DataSource and Delegate design
let items = [Element(id: "1"), Element(id: "2")]
self.objects = Stanwood.Elements<Element>(items: items)
self.dataSource = ElementDataSource(dataType: objects)
self.delegate = ElementDelegate(dataType: objects)
self.tableView.dataSource = self.dataSource
self.tableView.delegate = self.delegate
See also
Objects
-
dataType, a collection of types
Declaration
Swift
public internal(set) var dataType: DataType? { get } -
A single type object to present
Declaration
Swift
public internal(set) var type: Type? { get }
-
Initialise with a a single type object.
See also
Declaration
Swift
public init(type: Type)Parameters
dataTypeDataType
-
update current dataSource with dataType.
Note: If data type is a
class, it is not reqruied to update the dataType.See also
Declaration
Swift
open func update(with type: Type?)Parameters
dataTypeType
View on GitHub
AbstractTableDataSource Class Reference