DPS923 & MAP523

Mobile App Development for iOS

Notes Topics Weekly Resources Graded work Professor Code examples

DPS923 MAP523 Week 11 Notes

Monday, March 23 - online lecture
Thursday, March 26 - Test 3, and online help

A brief introduction to mapping services. And, more app-building topics.

Monday plan

Monday, March 23 (after the pause)

We will cover these - discuss, show-and-tell, diagram, etc. - in the Monday class. While some brief notes are included below, be prepared to take your own notes.

Introduction to mapping services.

Using a table view as a select list.

Core Data and photo storage.

A reminder to learn via the code examples.

Thursday plan

Thursday, March 26

On this day, Test 3 will be written. It is worth 14%. It covers all topics covered since the last test.

Here is more and general 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.

Code examples

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.


Here’s a list of topics that we learned something about this week:

  1. MKMapView is the user interface object that can be placed on a scene.
  2. To use it on a scene, some configuration must be done, an outlet, and other settings.
  3. MKMapView needs a coordinate for its center point and a scale.
  4. The coordinate can be provided, or the current user location can be used, as the center point.
  5. If a map view is to be a full-screen viewer (or selector), then use the task pattern to present it modally.
  6. It is fairly easy to add a map annotation, which appears as a red pin-drop.
  7. Any coordinate (provided, current user location, map annotation) can also include title info that appears when tapped.
  8. The documentation links have many nore interesting facts and guidance items.
  9. Item-selection is a commonly done task, and the base iOS SDK has many built-in item selectors (name them - there are eight).
  10. In addition, a table view can be used as an item selector, and is preferred for many scenarios.
  11. In that scenario, use a task pattern to present it modally.
  12. Its source of data can be anything - static, programmatically-generated, or fetched from the data store of from the network.
  13. Configure the cell with enough data to enable the user to make a selection with confidence.
  14. Optionally, you can support (disclosure or detail) workflow to even more detailed data, if required.
  15. Multiple select can be configured, if required.
  16. Core Data enables the management and storage of byte-oriented data, like photos, audio, or video.
  17. For the entity attribute, the Core Data type is “Binary Data”, and it should (must?) be configured as “Allows External Storage”.
  18. For a photo, we write code to marshal it back-and-forth to-and-from UIImage and Data.
  19. The code examples offer several learning opportunities, so make sure they are carefully studied and executed.