CellConfigType
public protocol CellConfigType : CollectionItemConfigType, TableItemConfigType
A type that provides the information required by FunctionalTableData to generate cells.
The key property should be a unique String for the section that the item is contained in. It should also be representative of the item and not just a random value or UUID. This is because on an update pass the key is used to determine if an item has been added, moved, or removed from the data set. Using a stable value means that this can correctly be determined.
The isEqual function is used to determine if two CellConfigType’s have matching keys and they represent the same data. This allows the system to update the views state directly when something has changed instead of forcing a reload of the entire cell all the time.
When two items have matching key values but the isEqual call between old and new returns false the update function is called. It is the responsibility of this function to update the cell, and any subviews of the cell, to reflect the state.
-
Unique identifier for the cell.
Declaration
Swift
var key: String { get } -
Indicates all the possible actions a cell can perform. See
CellActionsfor more information.Declaration
Swift
var actions: CellActions { get } -
Update the view state of a
UITableViewCell. It is up to implementors of the protocol to determine what this means.Declaration
Swift
func update(cell: UITableViewCell, in tableView: UITableView)Parameters
cellA cell view that was dequeued from the
UITableView.tableViewThe
UITableViewobject holding this cell. -
Update the view state of a
UICollectionViewCell. It is up to implementors of the protocol to determine what this means.Declaration
Swift
func update(cell: UICollectionViewCell, in collectionView: UICollectionView)Parameters
cellA cell view that was dequeued from the
UICollectionView.collectionViewThe
UICollectionViewobject holding this cell. -
Compares two cells for equality. Cells will be considered equal if they are of the same type and their states also compare equal.
Cell equality is used during rendering to determine when an existing cell’s view needs to be updated with new data.
Declaration
Swift
func isEqual(_ other: CellConfigType) -> BoolParameters
otherthe value to compare against.
Return Value
truewhen both values are the same,falseotherwise.
View on GitHub
CellConfigType Protocol Reference