Book description
Table of contents
- Cover Page
- Title Page
- Introduction
-
1. A Simple iOS Application
- Creating an Xcode Project
- Model-View-Controller
- Designing Quiz
- Interface Builder
- Building the Interface
- Creating view objects
- Configuring view objects
- Running on the simulator
- A brief introduction to Auto Layout
- Making connections
- Creating the Model Layer
- Implementing action methods
- Loading the first question
- Building the Finished Application
- Application Icons
- Launch Screen
-
2. The Swift Language
- Types in Swift
- Using Standard Types
- Inferring types
- Specifying types
- Literals and subscripting
- Initializers
- Properties
- Instance methods
- Optionals
- Subscripting dictionaries
- Loops and String Interpolation
- Enumerations and the Switch Statement
- Enumerations and raw values
- Exploring Apple’s Swift Documentation
-
3. Views and the View Hierarchy
- View Basics
- The View Hierarchy
- Creating a New Project
- Views and Frames
- Customizing the labels
- The Auto Layout System
- The alignment rectangle and layout attributes
- Constraints
- Adding constraints in Interface Builder
- Intrinsic content size
- Misplaced views
- Adding more constraints
- Bronze Challenge: More Auto Layout Practice
- 4. Text Input and Delegation
- 5. View Controllers
-
6. Programmatic Views
- Creating a View Programmatically
- Programmatic Constraints
- Anchors
- Activating constraints
- Layout guides
- Margins
- Explicit constraints
- Programmatic Controls
- Bronze Challenge: Another Tab
- Silver Challenge: User’s Location
- Gold Challenge: Dropping Pins
- For the More Curious: NSAutoresizingMaskLayoutConstraint
- 7. Localization
- 8. Controlling Animations
- 9. Debugging
-
10. UITableView and UITableViewController
- Beginning the Homepwner Application
- UITableViewController
- Subclassing UITableViewController
- Creating the Item Class
- Custom initializers
- UITableView’s Data Source
- Giving the controller access to the store
- Implementing data source methods
- UITableViewCells
- Creating and retrieving UITableViewCells
- Reusing UITableViewCells
- Content Insets
- Bronze Challenge: Sections
- Silver Challenge: Constant Rows
- Gold Challenge: Customizing the Table
- 11. Editing UITableView
- 12. Subclassing UITableViewCell
- 13. Stack Views
-
14. UINavigationController
- UINavigationController
- Navigating with UINavigationController
- Appearing and Disappearing Views
- Dismissing the Keyboard
- Event handling basics
- Dismissing by pressing the Return key
- Dismissing by tapping elsewhere
- UINavigationBar
- Adding buttons to the navigation bar
- Bronze Challenge: Displaying a Number Pad
- Silver Challenge: A Custom UITextField
- Gold Challenge: Pushing More View Controllers
-
15. Camera
- Displaying Images and UIImageView
- Adding a camera button
- Taking Pictures and UIImagePickerController
- Setting the image picker’s sourceType
- Setting the image picker’s delegate
- Presenting the image picker modally
- Permissions
- Saving the image
- Creating ImageStore
- Giving View Controllers Access to the Image Store
- Creating and Using Keys
- Wrapping Up ImageStore
- Bronze Challenge: Editing an Image
- Silver Challenge: Removing an Image
- Gold Challenge: Camera Overlay
- For the More Curious: Navigating Implementation Files
- // MARK:
-
16. Saving, Loading, and Application States
- Archiving
- Application Sandbox
- Constructing a file URL
- NSKeyedArchiver and NSKeyedUnarchiver
- Loading files
- Application States and Transitions
- Writing to the Filesystem with Data
- Error Handling
- Bronze Challenge: PNG
- For the More Curious: Application State Transitions
- For the More Curious: Reading and Writing to the Filesystem
- For the More Curious: The Application Bundle
- 17. Size Classes
-
18. Touch Events and UIResponder
- Touch Events
- Creating the TouchTracker Application
- Creating the Line Struct
- Structs
- Value types vs reference types
- Creating DrawView
- Drawing with DrawView
- Turning Touches into Lines
- Handling multiple touches
- @IBInspectable
- Silver Challenge: Colors
- Gold Challenge: Circles
- For the More Curious: The Responder Chain
- For the More Curious: UIControl
-
19. UIGestureRecognizer and UIMenuController
- UIGestureRecognizer Subclasses
- Detecting Taps with UITapGestureRecognizer
- Multiple Gesture Recognizers
- UIMenuController
- More Gesture Recognizers
- UILongPressGestureRecognizer
- UIPanGestureRecognizer and simultaneous recognizers
- More on UIGestureRecognizer
- Silver Challenge: Mysterious Lines
- Gold Challenge: Speed and Size
- Platinum Challenge: Colors
- For the More Curious: UIMenuController and UIResponderStandardEditActions
-
20. Web Services
- Starting the Photorama Application
- Building the URL
- Formatting URLs and requests
- URLComponents
- Sending the Request
- URLSession
- Modeling the Photo
- JSON Data
- JSONSerialization
- Enumerations and associated values
- Parsing JSON data
- Downloading and Displaying the Image Data
- The Main Thread
- Bronze Challenge: Printing the Response Information
- Silver Challenge: Fetch Recent Photos from Flickr
- For the More Curious: HTTP
- 21. Collection Views
-
22. Core Data
- Object Graphs
- Entities
- Modeling entities
- Transformable attributes
- NSManagedObject and subclasses
- NSPersistentContainer
- Updating Items
- Inserting into the context
- Saving changes
- Updating the Data Source
- Fetch requests and predicates
- Bronze Challenge: Photo View Count
- For the More Curious: The Core Data Stack
- NSManagedObjectModel
- NSPersistentStoreCoordinator
- NSManagedObjectContext
- 23. Core Data Relationships
- 24. Accessibility
- 25. Afterword
- Index
Product information
- Title: iOS Programming: The Big Nerd Ranch Guide, 6th Edition
- Author(s):
- Release date: December 2016
- Publisher(s): Big Nerd Ranch Guides
- ISBN: 9780134682341
You might also like
book
iOS Programming: The Big Nerd Ranch Guide, 7th Edition
Updated for Xcode 11, Swift 5, and iOS 13, iOS Programming: The Big Nerd Ranch Guide …
book
Android Programming: The Big Nerd Ranch Guide, Third Edition
Android Programming: The Big Nerd Ranch Guide is an introductory Android book for programmers with Java …
book
Objective-C Programming: The Big Nerd Ranch Guide
Want to write iOS apps or desktop Mac applications? This introduction to programming and the Objective-C …
book
Swift Programming: The Big Nerd Ranch Guide, 3rd Edition
Through the authors' carefully constructed explanations and examples, you will develop an understanding of Swift grammar …