Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial


Jwan Khalaf
Jwan Khalaf
1,977 Points

iOS app architecture

Hi Guys

My paid profession is a web developer in ASP.NET MVC C#. I have signed up to Treehouse specifically to start learning iOS app development. I have completed the 'Building iOS Apps with Swift' track.

The apps built were simple single paged applications. I have an idea for an app, but even after finishing the Swift track, I am still unclear on many aspects.

One of the main things I am concerned about is App Architecture. In my .NET web applications, I create a project for each layer of my web application (all projects sit within a solution in Visual Studio). So often I have a domain layer, a services layer and a web layer.

When developing iOS apps, can I do such a thing? I don't mean having the view, controller and model in a separate file, I know how that bit can be done. I am talking about even more separate break down of the three parts (Model, View and Controller).

The app I have in mind is still simple enough, but would have to involve (I hope) correct architecture so that I can scale it easily in future versions. It is basically a quiz app. A user (aimed at children) would see a picture of a fruit, and they would have to guess the name of the fruit from three given options.

Questions I have include:

  1. Best way to store all data related to a question? For example, the fruit image, and the three text options that go with it.
  2. How to have a start screen, where user can select difficulty (there are some very rare/unknown types of fruits ... these would go in High Difficulty).
  3. Play background music and have a settings page, where user can disable music playback.

These are only some of the questions I have. PS. I have the design of the app ready in Photoshop.

Any help and advice on how I should go about developing this app would be greatly appreciated. Do you see any possible pitfalls that I should look out for?

Thank You.