Starting from:

$35

Programming Assignment 7: Mock Remote Control III

CSC 471/371 Mobile Application Development for iOS
Programming Assignment 7: Mock Remote Control III
Due Date & Submission
• Submit your assignment in D2L Dropbox.
• Submit a single zip file that contains the contents of the project folder
o To zip your project folder: Ctrl-click your project folder and select “Compress
…” from the context menu.
• It is mandatory to use Xcode 10 and Swift 4 for this assignment.
• Include only your source code files, including
o *.swift, *.plist, *.xib, *.storyboard
o image files
o project files (.xcodeproj)
o test folders
• You must use a unique prefix for the project name. (I suggest you use your last name
and first initial as your prefix.) Please use the same prefix for all your assignments.
o Note you only need to use the prefix for the project name. It is not necessary to
use the prefix on other files in your project.
• Do not include unused or unrelated files.
• Before you submit, build and run the project, make sure everything compiles and
works. Close your project before zipping the folder.
• Here are the most common reasons assignments are marked down:
o Project does not build.
o Project does not build without warnings.
o One or more items in the Requirements section were not satisfied.
o A fundamental concept was not understood.
o Code is sloppy and hard to read (e.g. indentation is not consistent, etc.).
o Your solution is difficult (or impossible) for someone reading the code to
understand due to lack of comments, poor variable/method names, poor
solution structure, etc.
• Bonus points.
o Bonus points may be awarded to projects with exceptional qualities in one or
more aspects.
o Bonus points will only be awarded after all the required elements have been
satisfied.
o Bonus points will not be awarded merely for extra amount of work (or code).
o Extra and sloppy code may cause your assignments to be marked down.
o Bonus points are awarded at the sole discretion of the instructor.
o Include a note in the comment in D2L describing the part(s) should be
considered for bonus points.
Goals
• Developing a tabbed application with multiple screens
• Sharing data among different view controllers.
Assignments
1. Create a tabbed version of mock remote control. This version of the app will consist of
3 tabs. The first two tabs will be similar to the TV and DVR remote control as
described in Programming Assignment #6.
2. The third tab is a configuration panel for the favorite channels in the TV remote
control, similar to the one below.
a) The segmented control allows you to select which of the four favorite channel
buttons is to be configured. The favorite channel buttons are numbered 1 – 4 from
left to right.
b) The text box allows you to enter a short label to be displayed on the favorite
channel button. The label must be between 1-4 letters in length. If the label is too
long or to short, an alert should popup with an appropriate message.
c) The channel number should be in the range of 1-99. The widget next to the channel
number is a Stepper object for selecting an integer value.
d) The Save button saves the current configuration, while the Cancel button will
ignore the current values, and the configuration of the favorite buttons will remain
unchanged.
3. If the new configuration is saved, the favorite channels in the TV remote should reflect
the new configuration, i.e., the label and channel number will be adjusted according to
the configuration.
4. It is not required to save the configuration data in a file.
5. Important: You are required to use auto-layout in all the scenes, for the portrait mode
only.
Hints
1. Consider using a separate model class to represent the configuration data.
2. The controllers for the TV remote and the configuration panel both need to have
access to the configuration data object.
 

More products