iPhone Dev workshop
step-by-step
Wednesday, November 20, 13
Slide 2
Slide 2 text
Wednesday, November 20, 13
Slide 3
Slide 3 text
Me
Wednesday, November 20, 13
Slide 4
Slide 4 text
Me
Mark Wilkinson
Wednesday, November 20, 13
Slide 5
Slide 5 text
Me
Mark Wilkinson
UH grad in Comp. Eng.
Wednesday, November 20, 13
Slide 6
Slide 6 text
Me
Mark Wilkinson
UH grad in Comp. Eng.
Former DotNetter, now full-
time mobile developer at
ChaiOne.
Wednesday, November 20, 13
Slide 7
Slide 7 text
Me
Mark Wilkinson
UH grad in Comp. Eng.
Former DotNetter, now full-
time mobile developer at
ChaiOne.
Head of the C#UG for the last
3 years.
Wednesday, November 20, 13
Slide 8
Slide 8 text
create a new Xcode
project, single view app
Wednesday, November 20, 13
Slide 9
Slide 9 text
remove the initial View Controller, add Nav-
Contronller in the Main.storyboard
Wednesday, November 20, 13
Slide 10
Slide 10 text
Wire-up the Root
ViewController
• Set the Class of the Root VC to be your TSViewController
• Change base class of TSViewController to
UITableViewController
Wednesday, November 20, 13
Slide 11
Slide 11 text
add UITableView
essential methods
Wednesday, November 20, 13
Slide 12
Slide 12 text
set edit and add
buttons on NavBar
Wednesday, November 20, 13
Slide 13
Slide 13 text
add your model objects array,
update the tableView methods
Wednesday, November 20, 13
Slide 14
Slide 14 text
Setup the AlertViews to
enter Gift information
Wednesday, November 20, 13
Slide 15
Slide 15 text
lets do some
refactoring
Wednesday, November 20, 13
Slide 16
Slide 16 text
Where’s the bug?
Wednesday, November 20, 13
Slide 17
Slide 17 text
Check if they chose
OK or Cancel
Wednesday, November 20, 13
Slide 18
Slide 18 text
Create and save your new
gift to the collection
Wednesday, November 20, 13
Slide 19
Slide 19 text
Reload the tableView
to show the new gift
Wednesday, November 20, 13
Slide 20
Slide 20 text
2 more bugs, why did the
tableView not show it added?
then a crash, what happened
here?
Wednesday, November 20, 13
Slide 21
Slide 21 text
Add ability to delete
gifts
Wednesday, November 20, 13
Slide 22
Slide 22 text
Hmm...closing the app loses all
your gifts, you need to persist
Wednesday, November 20, 13
Slide 23
Slide 23 text
awesome, not read them back
each app start
Wednesday, November 20, 13
Slide 24
Slide 24 text
don’t forget to delete
gifts
Wednesday, November 20, 13
Slide 25
Slide 25 text
Onto the drill-down, add a new
ViewController, add a WebView
control+click the prototype
cell, then drag onto the
added View Controller,
choose ‘Push’ segue
Wednesday, November 20, 13
Slide 26
Slide 26 text
Create the backing ViewController
class for this details View Controller
Wednesday, November 20, 13
Slide 27
Slide 27 text
Wire-up the storyboard view to this
view-controller, wire up the
UIWebView to the interface
Wednesday, November 20, 13
Slide 28
Slide 28 text
name the segue that you just created
from the tableViewCell to the
DetailsViewController
set identifier of the prototype cell to
“giftCell”
Wednesday, November 20, 13
Slide 29
Slide 29 text
change the
cellForRowAtIndexPathMethod
create the prepareForSegue method,
set the url path for the details
ViewController
Wednesday, November 20, 13
Slide 30
Slide 30 text
load the URL in the
detailsViewController
Wednesday, November 20, 13
Slide 31
Slide 31 text
Bonus, refactor and
NSCoding
Wednesday, November 20, 13
Slide 32
Slide 32 text
Move all the saving/persisting logic of gifts out of the
main ViewController
Wednesday, November 20, 13
Slide 33
Slide 33 text
NSCoder and NSKeyedArchiver
Wednesday, November 20, 13
Slide 34
Slide 34 text
Now use NSKeyedArchiver
Wednesday, November 20, 13
Slide 35
Slide 35 text
Resources
• developer.apple.com
• objc.io
• nsscreencast.com
• ChaiOne if you want to do this for a living
Wednesday, November 20, 13