Models
May 31, 2017 ยท View on GitHub
ComponentModel
public struct ComponentModel: Mappable {
public var index = 0
public var title = ""
public var kind = ""
public var span: CGFloat = 0
public var items = [Item]()
public var size: CGSize?
public var meta = [String : String]()
}
- .index Calculated value to determine the index it has inside of the component.
- .title This is used as a title in table view view.
- .kind
Determines which component should be used.
carousel,list,gridare there by default but you can register your own. - .span Determines the amount of views that should fit on one row, by default it is set to zero and uses the default flow layout to render collection based views.
- .size Calculated value based on the amount of items and their combined heights.
- .meta Custom data that you are free to use as you like in your implementation.
Item
public struct Item: Mappable {
public var index = 0
public var title = ""
public var subtitle = ""
public var image = ""
public var kind = ""
public var action: String?
public var size = CGSize(width: 0, height: 0)
public var meta = [String : AnyObject]()
}
- .index Calculated value to determine the index it has inside of the model.
- .title
The headline for your data, in a
UITableViewCellit is normally used fortextLabel.textbut you are free to use it as you like. - .subtitle
Same as for the title, in a
UITableViewCellit is normally used fordetailTextLabel.text. - .image Can be either a URL string or a local string, you can easily determine if it should use a local or remote asset in your view.
- .kind
Is used for the
reuseIdentifierof yourUITableViewCellorUICollectionViewCell. - .action Action identifier for you to parse and process when a user taps on a list item. We recommend Compass as centralized navigation system.
- .size
Can either inherit from the
UITableViewCell/UICollectionViewCell, or be manually set by the height calculations inside of your view. - .meta This is used for extra data that you might need access to inside of your view, it can be a hex color, a unique identifer or additional images for your view.