Managing Table and Collection Views on iOS

4SQ Eng
Foursquare
Published in
1 min readApr 23, 2015

As most iOS developers can tell you, dealing with UITableView or UICollectionView can be a pain. These UIKit views form the basis of most iOS apps, but the numerous callback methods that you have to coordinate can be a hassle to manage. There is a lot of boilerplate necessary to get even the simplest of views up and running, and it is easy to create a mismatch between delegate methods which causes the app to crash.

At Foursquare we’ve solved this issue the way we usually do: we built an intermediate layer with a nicer interface that talks to Apple’s interface for you. We call it FSQCellManifest, and today we are open sourcing it for use by the wider iOS developer community.

In short, FSQCellManifest acts as the datasource and delegate for your table or collection view, handling all the necessary method calls and delegate callbacks for you, while providing a much easier to use interface with less boilerplate. It has a ton of built in features, and is flexible enough that we use it on every screen in both our apps. It saves us a ton of engineering time and effort, and hopefully it will for you as well.

You can find more documentation and an example app on the project’s Github page. And check out Foursquare’s open source portal to find all the other projects we’ve released.

Brian Dorfman

--

--