Sign in

I guess mostly everybody has heard the term “protocol” during iOS development. However, not everybody knows what is it and how to use it. More than that, those people are missing the huge advantage and easy usability of the protocols.

To be honest, even if you have not heard about what is protocol delegation, I assure you that you have already used it at least once in some of your projects. For instance, when you create your custom UITableVIew, in order to fill up UITableViewCells, you write:

self.tableView.delegate = self
self.tableView.dataSource = self
extension YourViewController: UITableViewDelegate, UITableViewDataSource{func tableView(_ tableView…


If you are an IOS developer, you for sure should know that there are many ways of setting the layout of UI in applications. Where every approach has both upsides and downsides, and I assume that there is no “best way” of doing it since your choice would depend on the situation or project you are in. Even though there has been a heated debate in the Swift community regarding it. In this article, I want to discuss the different approaches, and which I prefer.

There are 2 main most used approaches nowadays in setting the UI in your application:


Junior IOS developer @Ziktalk | Senior student in Computer science at Sejong university

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store