Swift with Autolayout UI complete with images, labels, text views, buttons, pickers, and other controls – defined programmatically in code, in xibs, or in Storyboards (bonus points for knowing all three) ensures views are where they should be on various screen sizes and orientations using Auto Layout handles user interaction via buttons, switches, sliders, pickers, table views, and other controls has multiple navigation types with tab bar controllers, navigation controllers, and page view controllers – and combinations of them shows a modal view the user can dismiss shows alerts and action sheets, and handles input from them accepts user input from text views dismisses the keyboard programmatically when appropriate has a scroll view that scrolls smoothly, a scroll view that scrolls one page at a time, and a combination of the two. For example, you have a scroll view that scrolls horizontally one page at a time but scrolls smoothly vertically. makes asynchronous network requests to send and receive data from a REST API uses custom model objects that represent the base data types in your app parses JSON and deserializes it into model objects serializes model objects into JSON to send to a REST API has a table view that shows a list of data from a network request shows a web page in a web view stores data locally in NSUserDefaults concatenates, calculates, and manipulates strings, numbers, and dates to display them appropriately (hat tip to Adam for this point)