// // {{class_name}}.swift // // Created by <# Developer Name #> on {{date}}. // //
import UIKit {{#options.protocol}}
protocol {{class_name}}Delegate: class {
}
protocol {{class_name}}DataSouce: class {
} {{/options.protocol}}
class {{class_name}}: UITableViewCell {
{{#options.protocol}} weak private var delegate: {{class_name}}Delegate? weak private var datasource: {{class_name}}DataSource? {{/options.protocol}} {{#properties.ui_label}} private let {{name}} = UILabel() {{/properties.ui_label}} {{#properties.ui_view}} private let {{name}} = UIView() {{/properties.ui_view}} {{#properties.unknow_type}} private let {{name}} = {{type}}() {{/properties.unknow_type}} override init(style: UITableViewCellStyle, reuseIdentifier: String?) { super.init(style: .subtitle, reuseIdentifier: reuseIdentifier) setupView() setupConstraints() } required public init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } override func prepareForReuse() { super.prepareForReuse() {{#properties.ui_label}} {{name}}.text = "" {{/properties.ui_label}} } // MARK: - Identifier class func identifier() -> String { return String(describing: self) } // MARK: - Setup private func setupView() { {{#properties.ui_label}} setup{{capitalized_name}}() {{/properties.ui_label}} {{#properties.ui_view}} setup{{capitalized_name}}() {{/properties.ui_view}} {{#properties.unknow_type}} setup{{capitalized_name}}() {{/properties.unknow_type}} } {{#properties.ui_label}} private func setup{{capitalized_name}}() { {{name}}.textColor = <# UIColor #> {{name}}.font = <# UIFont #> addSubview({{name}}) } {{/properties.ui_label}} {{#properties.ui_view}} private func setup{{capitalized_name}}() { {{name}}.backgroundColor = <# UIColor #> {{name}}.clipBounds = <# true or false #> addSubview({{name}}) } {{/properties.ui_view}} {{#properties.unknow_type}} private func setup{{capitalized_name}}() { addSubview({{name}}) } {{/properties.unknow_type}} // MARK: - Constraints private func setupConstraints() { {{#properties.ui_label}} setupConstraintsFor{{capitalized_name}}() {{/properties.ui_label}} {{#properties.ui_view}} setupConstraintsFor{{capitalized_name}}() {{/properties.ui_view}} {{#properties.unknow_type}} setupConstraintsFor{{capitalized_name}}() {{/properties.unknow_type}} } {{#properties.ui_label}} private func setupConstraintsFor{{capitalized_name}}() { {{name}}.translatesAutoresizingMaskIntoConstraints = false {{name}}.topAnchor.constraint(equalTo: <# topAnchor #>, constant: <# constant #>).isActive = true {{name}}.leftAnchor.constraint(equalTo: <# leftAnchor #>, constant: <# constant #>).isActive = true {{name}}.rightAnchor.constraint(equalTo: <# rightAnchor #>, constant: <# constant #>).isActive = true {{name}}.bottomAnchor.constraint(equalTo: <# bottomAnchor #>, constant: <# constant #>).isActive = true } {{/properties.ui_label}} {{#properties.ui_view}} private func setupConstraintsFor{{capitalized_name}}() { {{name}}.translatesAutoresizingMaskIntoConstraints = false {{name}}.topAnchor.constraint(equalTo: <# topAnchor #>, constant: <# constant #>).isActive = true {{name}}.leftAnchor.constraint(equalTo: <# leftAnchor #>, constant: <# constant #>).isActive = true {{name}}.rightAnchor.constraint(equalTo: <# rightAnchor #>, constant: <# constant #>).isActive = true {{name}}.bottomAnchor.constraint(equalTo: <# bottomAnchor #>, constant: <# constant #>).isActive = true } {{/properties.ui_view}} {{#properties.unknow_type}} private func setupConstraintsFor{{capitalized_name}}() { {{name}}.translatesAutoresizingMaskIntoConstraints = false {{name}}.topAnchor.constraint(equalTo: <# topAnchor #>, constant: <# constant #>).isActive = true {{name}}.leftAnchor.constraint(equalTo: <# leftAnchor #>, constant: <# constant #>).isActive = true {{name}}.rightAnchor.constraint(equalTo: <# rightAnchor #>, constant: <# constant #>).isActive = true {{name}}.bottomAnchor.constraint(equalTo: <# bottomAnchor #>, constant: <# constant #>).isActive = true } {{/properties.unknow_type}}
}