ConfigurableTableViewController
  • October 5, 2023

Simple view controller that provides a way to configure a table view with multiple types of cells while keeping type safety. To learn what and whys I encourage you to read theĀ associated blog post.

Usage


Let’s say we want to present a table view controller with four rows: two with text and two with images. We start by creating view data structures that cells will be configurable with:

struct TextCellViewData {
let title: String
}

struct ImageCellViewData {
let image: UIImage
}

and the cells themselves:

class TextTableViewCell: UITableViewCell {
func updateWithViewData(viewData: TextCellViewData) {
textLabel?.text = viewData.title
}
}

class ImageTableViewCell: UITableViewCell {
func updateWithViewData(viewData: ImageCellViewData) {
imageView?.image = viewData.image
}
}

Now to present a table view controller with those cells, we simply configure it in the following way:

import ConfigurableTableViewController

let viewController = ConfigurableTableViewController(items: [
CellConfigurator<TextTableViewCell>(viewData: TextCellViewData(title: “Foo”)),
CellConfigurator<ImageTableViewCell>(viewData: ImageCellViewData(image: apple)),
CellConfigurator<ImageTableViewCell>(viewData: ImageCellViewData(image: google)),
CellConfigurator<TextTableViewCell>(viewData: TextCellViewData(title: “Bar”)),
])

presentViewController(viewController, animated: true, completion: nil)

And ta-da šŸŽˆ:

I encourage you to check both theĀ implementationĀ and anĀ example app.

Demo


To run the example project; clone the repo, open the project and runĀ ExampleAppĀ target.

Requirements


iOS 8 and above.

GitHub


View Github

#ios8 #swift #tableview #viewcontroller
YOU MIGHT ALSO LIKE...
MijickPopups Hero

  Popups Alerts Resizable Sheets Banners

SwiftUI Tooltip

This package provides you with an easy way to show tooltips over any SwiftUI view, since Apple does not provide ...

SimpleToast for SwiftUI

SimpleToast is a simple, lightweight, flexible and easy to use library to show toasts / popup notifications inside iOS or ...

SSToastMessage

Create Toast Views with Minimal Effort in SwiftUI Using SSToastMessage. SSToastMessage enables you to effortlessly add toast notifications, alerts, and ...

ToastUI

A simple way to show toast in SwiftUI   Getting Started • Documentation • Change Log Ā Ā