More iPhone development with Objective-C /
Are you a relative newcomer to iPhone and iPad? Or perhaps an old hand looking for a book with Objective-C that digs deep into Apple?s latest iOS SDK? Then More iPhone Development with Objective-C is for you. Authors Dave Mark, Jayant Varma, Jeff LaMarche, Alex Horovitz, and Kevin Kim explain concep...
Clasificación: | Libro Electrónico |
---|---|
Autores principales: | , , , , |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
[Berkeley, CA] :
Apress,
[2015]
|
Edición: | Third edition. |
Temas: | |
Acceso en línea: | Texto completo (Requiere registro previo con correo institucional) |
Tabla de Contenidos:
- Machine generated contents note: What This Book Is
- What You Need to Know
- What You Need Before You Can Begin
- What's In this Book
- Brief History of Core Data
- Creating a Core Data Application
- Core Data Concepts and Terminology
- Data Model
- Entities
- Fetch Requests
- Configurations
- Data Model Class: NSManagedObjectModel
- Persistent Store and Persistent Store Coordinator
- Reviewing the Data Model
- Managed Objects
- Key-Value Coding
- Managed Object Context
- Saves On Terminate
- Load Data from the Persistent Store
- Fetched Results Controller
- Creating and Inserting a New Managed Object
- Deleting Managed Objects
- Putting Everything in Context
- Setting Up the Xcode Project
- Adding a Scene
- Scenes and Segues
- Storyboard Document Outline
- Application Architecture
- Designing the View Controller Interface
- Creating HeroListController
- Making the Connections and Outlets
- Navigation Bar Buttons
- Tab Bar and User Defaults
- Designing the Data Model
- Adding an Entity
- Editing the New Entity
- Declaring the Fetched Results Controller
- Implementing the Fetched Results Controller
- Fetched Results Controller Delegate Methods
- Making It All Work
- Error Handling
- Implementing Edit and Add
- Coding the Table View Data Source and Delegate
- Sorting the Table View
- Loading the Fetch Request at Launch
- Let 'Er Rip
- Done, but Not Done
- View Implementation Choices
- Creating the Detail View Controller
- Wiring Up the Segue
- HeroDetailController
- Detail View Challenges
- Controlling the Table Structure with Property Lists
- Property Lists Explained
- Modeling Table Structure with a Property List
- Defining the Table View via Property List
- Parsing the Property List
- Pushing the Details
- Showing the Details
- Editing the Details
- Editing Mode in the Detail View
- Creating a Custom UlTableViewCell Subclass
- Saving Your Changes
- Specialized Input Views
- DatePicker SuperDBEditCell Subclass
- Using the DatePicker SuperDBEditCell Subclass
- Implementing a Selection Picker
- Devil's End
- About Data Models
- Data Models Are Compiled
- Data Models Can Have Multiple Versions
- Creating a New Data Model Version
- Current Data Model Version
- Data Model Version Identifiers
- Migrations
- Lightweight vs. Standard
- Standard Migrations
- Setting Up Your App to Use Lightweight Migrations
- Time to Migrate On
- Updating the Data Model
- Adding the Age Attribute
- Adding the Favorite Color Attribute
- Adding a Minimum Length to the Name Attribute
- Creating the Hero Class
- Tweaking the Hero Header
- Defaulting
- Validation
- Single-Attribute Validations
- nil vs.
- NULL
- Multiple-Attribute Validations
- Virtual Accessors
- Adding Validation Feedback
- Updating the Detail View
- Refactoring SuperDBEditCell
- Xcode Refactoring Options
- Moving Code Around
- Editable Property
- Creating a Color Table View Cell
- Custom Color Editor
- Custom Color Table View Cell
- Cleaning Up the Picker
- One More Thing
- Color Us Gone
- Expanding Your Application: Superpowers and Reports
- Relationships
- To-One Relationships
- To-Many Relationships
- Inverse Relationships
- Fetched Properties
- Creating Relationships and Fetched Properties in the Data Model Editor
- Delete Rules
- Expressions and Aggregates
- Adding the Power Entity
- Creating the Powers Relationship
- Creating the Inverse Relationship
- Creating the olderHeroes Fetched Property
- What Is a Predicate?
- Creating the youngerHeroes Fetched Property
- Creating the sameSexHeroes Fetched Property
- Creating the oppositeSexHeroes Fetched Property
- Adding Relationships and Fetched Properties to the Hero Class
- Updating the Detail View
- Rethinking Configuration
- Encapsulation and Information Hiding
- Data-Driven Configuration
- Adding Powers
- Refactoring the Detail View Controller
- Renaming the Configuration Class
- Refactoring the Detail Controller
- Refactoring the Hero Instance Variable
- Little More Abstraction
- New HeroDetailController
- Power View Controller
- Navigating to the PowerViewController
- Fetch Properties
- Wonderful to the Core
- Data Storage with iCloud
- iCloud Basics
- iCloud Backup
- Enabling iCloud in Your Application
- Key-Value Data Storage
- Document Storage
- UlDocument
- UlDocument with iCloud
- NSMetadataQuery
- Core Data with iCloud
- Enhancing SuperDB
- Entitlements
- Enabling iCloud and Creating the Relevant Files
- Updating the Persistent Store
- Updating the Managed Object Context
- Updating the UI on DataChanged
- Testing the Data Store
- Keep Your Feet on the Ground
- Peer-to-Peer Connectivity
- This Chapter's Application
- Network Communication Models
- Client-Server Model
- Peer-to-Peer Model
- Hybrid Client-Server/Peer-to-Peer
- Multipeer Connectivity Peer
- Multipeer Connectivity Session
- Creating the Session
- Finding and Connecting to Other Sessions
- Listening for Other Sessions
- Connecting Peers
- Sending Data to a Peer
- Packaging Up Information to Send
- Receiving Data from a Peer
- Closing Connections
- Handling a Peer Connection
- Creating the Project
- Turning Off the Idle Timer
- Importing the Multipeer Connectivity Framework
- Designing the Interface
- Defining Application Constants
- Designing the Game Board
- Creating the Packet Object
- Setting Up the View Controller Header
- Implementing the Tic-Tac-Toe View Controller
- Trying It
- Game On!
- This Chapter's Application
- Overview and Terminology
- Map View
- Map Types
- Location Authorization
- User Location
- Coordinate Regions
- Setting the Region to Display
- Map View Delegate
- Annotations
- Annotation Object
- Annotation View
- Adding and Removing Annotations
- Selecting Annotations
- Providing the Map View with Annotation Views
- Geocoding and Reverse Geocoding
- Building the MapMe Application
- Linking the Map Kit and Core Location Frameworks
- Building the Interface
- Finishing the View Controller Interface
- Writing the Annotation Object Class
- Implementing the MapMe ViewController
- Go East, Young Programmer
- This Chapter's Application
- MessageUl Framework
- Creating the Mail Compose View Controller
- Populating the Subject Line
- Populating Recipients
- Setting the Message Body
- Adding Attachments
- Presenting the Mail Compose View
- Mail Compose View Controller Delegate Method
- Message Compose View Controller
- Message Attachments
- Disabling Message Attachments
- Social Framework
- SLComposeViewController
- SLRequest
- Activity View Controller
- Building the Messagelmage Application
- Building the User Interface
- Taking the Picture
- Calling the Camera
- Picking the Message Sender
- Mailing It In
- MediaPlayer Framework
- Media Items
- Media Item Collections
- Media Queries and Media Property Predicates
- Media Picker Controller
- Music Player Controller
- Simple Music Player
- Building the SimplePlayer Application
- Building the User Interface
- Declaring Outlets and Actions
- MPMoviePlayerController
- MPMediaPlayer
- AVFoundation
- TL;DR: AVKit
- Playing Video
- AVMediaPlayer
- AVMediaPlayer v2
- Photo Library
- Modifying the Photo Library
- Are You Talking To Me?
- Avast! Rough Waters Ahead!
- Lights
- Camera
- Changing Settings
- Putting It All Together
- Choosing a Camera
- Choosing an Output
- Scanning Barcodes
- Generating Barcodes
- Make Some Noise
- Recording Audio
- Show Must Go On
- Storyboard View Controllers
- Container View Controller
- Segues
- Controls
- Inspectable
- Designable
- More Useful BasicControl
- View Controllers
- Transitions
- Cue 'em Up
- Unit Tests
- Debugging
- Breakpoints
- Debug Navigator
- Debug Area
- Trying Out the Debug Controls
- Breakpoint Navigator and Symbolic Breakpoints
- Conditional Breakpoints
- Breakpoint Actions
- Static Analysis
- One More Thing About Debugging
- Profiling With Instruments
- End of the Road
- Getting Unstuck
- Apple's Documentation
- Mailing Lists
- Web Sites
- Blogs
- Combination
- Farewell.