iOS developer 
http://about.me/gliyao 
Liyao Chen 
design > code
Objective 
do more with less
Code 
Want vs. need 
No code is good code 
Do not start from 0 
Keep step small
Cocoa Framework Basic 
Custom class 
@IBoutlet & @IBAction 
UISegue 
Inheritance hierarchy
Custom class
Custom class
IBOutlet & IBAction
UISegue
Inheritance hierarchy
Inheritance hierarchy 
Enter viewController 
- viewDidLoad 
- viewWillAppear 
- viewWillLayoutSubviews 
- viewDidLayoutSubviews 
- viewDidAppear 
Leave viewController 
- viewWillDisappear 
- viewDidDisappear
Rule 
pair-programming 
beat the monster
Mission 1 
Setting page with less code
Wireframe of setting page
Steps 
• Embed in UINavigationController (two ways) 
• UITableViewController with static cells (basic and customize style). 
• Create show segue with control + drag from cell 
• Connect views with IBOutlet and change its property value. 
• Simple autolayout (pin view in center of viewController) 
• Simple class SRAuthor to setup author page
Mission 2 
Article list page with JSON file
Wireframe of article list page
Steps 
• Read JSON file as dictionary (Break point and check out data) 
• List article title with dynamic cells in UITableViewController 
(Delegate pattern, reuse cell with id). 
• Configure cell with article JSON data 
• Pass params to another viewController with segueId

iOS Design to Code - Code