Mobile App Development for iOS
Notes Topics Weekly Resources Graded work Professor Code examplesThursday, January 23 - classroom lecture
Monday, January 27 - hands-on in the computer-lab
This week, we begin to learn how to design and create a substantial app with many features, now that you have some good foundation skills and techniques.
Plan for this week:
Here is information about the upcoming test.
Here is information about deployment.
Here is information that introduces a navigation style app.
Here is information that introduces the data model essentials topic.
Until today, the apps we have created, and the apps that you have coded, have had one “scene”.
From the docs, a scene represents an onscreen content area.
As a code asset, it is a custom XML syntax, and is managed by Xcode during development, and by iOS at runtime, so we never have to work directly with the code asset as programmers. On iOS, a scene fills the screen.
And, you have learned that a scene is paired with a controller.
From now on, it is likely that all of the apps will have multiple scenes. App design is more important now.
When we write “app design”, we do NOT mean its visual or graphic design. Instead, we are interested in how the app’s code is designed in a way that conforms to guidance, best practices. That typically means a modular design, with known responsibilities, separation of concerns, and well-defined interfaces.
As a result, BEFORE we begin coding, we must perform some tasks. After a few weeks, you have learned how to code the basics, and you’re ready for this topic. The tasks include:
Think before you code.
Know about and depend on the standard way to support scene transitions.
The course’s GitHub repo has code examples for many topics and techniques. You can download a zip of the code repo, or clone it.
In the first part of the timeslot, Test 1 will be written. Here is information about the upcoming test.
Then, in the remaining time, work on the programming assignment, and get help from a classmate or the professor if you need it.
Here’s a list of topics that we learned something about this week:
prepare(for: sender:)
method