مشخصات کتاب
-
Vandad Nabavandipoor
-
2016
-
انگلیسی
-
24928
-
593
-
0
iOS 6 Programming Cookbook
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
1. The Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Creating a Simple iOS App in Xcode 2
1.2 Understanding Interface Builder 5
1.3 Compiling iOS Apps 7
1.4 Running iOS Apps on the Simulator 11
1.5 Running iOS Apps on iOS Devices 12
1.6 Packaging iOS Apps for Distribution 15
1.7 Declaring Variables in Objective-C 20
1.8 Allocating and Making Use of Strings 23
1.9 Comparing Values in Objective-C with an if Statement 27
1.10 Implementing Loops with for Statements 30
1.11 Implementing while Loops 32
1.12 Creating Custom Classes 35
1.13 Defining Functionality for Classes 38
1.14 Defining Two or More Methods with the Same Name 43
1.15 Allocating and Initializing Objects 46
1.16 Adding Properties to Classes 48
1.17 Moving from Manual Reference Counting to Automatic Reference
Counting 52
1.18 Typecasting with Automatic Reference Counting 57
1.19 Delegating Tasks with Protocols 60
1.20 Determining Whether Instance or Class Methods Are Available 66
1.21 Determining Whether a Class Is Available at Runtime 69
1.22 Allocating and Making Use of Numbers 70
1.23 Allocating and Making Use of Arrays 72
1.24 Allocating and Making Use of Dictionaries 77
1.25 Allocating and Making Use of Sets 80
1.26 Creating Bundles 83
1.27 Loading Data from the Main Bundle 84
1.28 Loading Data from Other Bundles 88
1.29 Sending Notifications with NSNotificationCenter 91
1.30 Listening for Notifications Sent from NSNotificationCenter 94
2. Implementing Controllers and Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
2.1 Displaying Alerts with UIAlertView 100
2.2 Creating and Using Switches with UISwitch 107
2.3 Customizing the UISwitch 111
2.4 Picking Values with UIPickerView 114
2.5 Picking the Date and Time with UIDatePicker 122
2.6 Implementing Range Pickers with UISlider 126
2.7 Customizing the UISlider 130
2.8 Grouping Compact Options with UISegmentedControl 135
2.9 Customizing the UISegmentedControl 140
2.10 Presenting and Managing Views with UIViewController 146
2.11 Presenting Sharing Options with UIActivityViewController 151
2.12 Implementing Navigation with UINavigationController 155
2.13 Manipulating a Navigation Controller’s Array of View Controllers 161
2.14 Displaying an Image on a Navigation Bar 162
2.15 Adding Buttons to Navigation Bars Using UIBarButtonItem 163
2.16 Presenting Multiple View Controllers with UITabBarController 171
2.17 Displaying Static Text with UILabel 177
2.18 Customizing the UILabel 181
2.19 Accepting User Text Input with UITextField 183
2.20 Displaying Long Lines of Text with UITextView 192
2.21 Adding Buttons to the User Interface with UIButton 196
2.22 Displaying Images with UIImageView 200
2.23 Creating Scrollable Content with UIScrollView 204
2.24 Loading Web Pages with UIWebView 209
2.25 Presenting Master-Detail Views with UISplitViewController 213
2.26 Enabling Paging with UIPageViewController 219
2.27 Displaying Popovers with UIPopoverController 223
2.28 Displaying Progress with UIProgressView 232
2.29 Listening and Reacting to Keyboard Notifications 234
2.30 Constructing and Displaying Styled Texts 248
3. Auto Layout and the Visual Format Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
3.1 Placing UI Components in the Center of the Screen 256
3.2 Defining Horizontal and Vertical Constraints with the
Visual Format Language 259
3.3 Utilizing Cross View Constraints 265
3.4 Configuring Auto Layout Constraints in Interface Builder 273
4. Constructing and Using Table Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
4.1 Instantiating a Table View 279
4.2 Assigning a Delegate to a Table View 281
4.3 Populating a Table View with Data 283
4.4 Receiving and Handling Table View Events 287
4.5 Using Different Types of Accessories in a Table View Cell 288
4.6 Creating Custom Table View Cell Accessories 290
4.7 Displaying Hierarchical Data in Table Views 293
4.8 Enabling Swipe Deletion of Table View Cells 294
4.9 Constructing Headers and Footers in Table Views 297
4.10 Displaying Context Menus on Table View Cells 306
4.11 Moving Cells and Sections in Table Views 310
4.12 Deleting Cells and Sections from Table Views 317
4.13 Utilizing the UITableViewController for Easy Creation of Table
Views 325
4.14 Displaying a Refresh Control for Table Views 332
5. Storyboards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
5.1 Creating a Project with Storyboards 338
5.2 Adding a Navigation Controller to a Storyboard 340
5.3 Passing Data From One Screen to Another 350
5.4 Adding a Storyboard to an Existing Project 352
6. Concurrency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
6.1 Constructing Block Objects 361
6.2 Accessing Variables in Block Objects 365
6.3 Invoking Block Objects 371
6.4 Dispatching Tasks to Grand Central Dispatch 372
6.5 Performing UI-Related Tasks with GCD 373
6.6 Executing Non-UI Related Tasks Synchronously with GCD 377
6.7 Executing Non-UI Related Tasks Asynchronously with GCD 380
6.8 Performing Tasks After a Delay with GCD 386
6.9 Performing a Task Only Once with GCD 389
6.10 Grouping Tasks Together with GCD 391
6.11 Constructing Your Own Dispatch Queues with GCD 394
6.12 Running Tasks Synchronously with Operations 397
6.13 Running Tasks Asynchronously with Operations 404
6.14 Creating Dependency Between Operations 411
6.15 Creating Timers 413
6.16 Creating Concurrency with Threads 418
6.17 Invoking Background Methods 423
6.18 Exiting Threads and Timers 425
7. Core Location and Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
7.1 Creating a Map View 430
7.2 Handling the Events of a Map View 432
7.3 Pinpointing the Location of a Device 434
7.4 Displaying Pins on a Map View 437
7.5 Displaying Pins with Different Colors on a Map View 439
7.6 Displaying Custom Pins on a Map View 446
7.7 Converting Meaningful Addresses to Longitude and Latitude 448
7.8 Converting Longitude and Latitude to a Meaningful Address 450
8. Implementing Gesture Recognizers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
8.1 Detecting Swipe Gestures 455
8.2 Detecting Rotation Gestures 457
8.3 Detecting Panning and Dragging Gestures 460
8.4 Detecting Long Press Gestures 463
8.5 Detecting Tap Gestures 466
8.6 Detecting Pinch Gestures 468
9. Networking, JSON, XML, and Twitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
9.1 Downloading Asynchronously with NSURLConnection 471
9.2 Handling Timeouts in Asynchronous Connections 474
9.3 Downloading Synchronously with NSURLConnection 475
9.4 Modifying a URL Request with NSMutableURLRequest 478
9.5 Sending HTTP GET Requests with NSURLConnection 479
9.6 Sending HTTP POST Requests with NSURLConnection 481
9.7 Sending HTTP DELETE Requests with NSURLConnection 484
9.8 Sending HTTP PUT Requests with NSURLConnection 486
9.9 Serializing Arrays and Dictionaries into JSON 488
9.10 Deserializing JSON into Arrays and Dictionaries 491
9.11 Integrating Twitter Functionality into Your Apps 494
9.12 Parsing XML with NSXMLParser 499
10. Audio and Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
10.1 Playing Audio Files 505
10.2 Handling Interruptions while Playing Audio 507
10.3 Recording Audio 508
10.4 Handling Interruptions while Recording Audio 515
10.5 Playing Audio over Other Active Sounds 516
10.6 Playing Video Files 519
10.7 Capturing Thumbnails from a Video File 523
10.8 Accessing the Music Library 526
11. Address Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
11.1 Requesting Access to the Address Book 537
11.2 Retrieving a Reference to an Address Book 540
11.3 Retrieving All the People in the Address Book 543
11.4 Retrieving Properties of Address Book Entries 544
11.5 Inserting a Person Entry into the Address Book 549
11.6 Inserting a Group Entry into the Address Book 552
11.7 Adding Persons to Groups 555
11.8 Searching the Address Book 557
11.9 Retrieving and Setting a Person’s Address Book Image 562
12. Files and Folder Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
12.1 Finding the Paths of the Most Useful Folders on Disk 573
12.2 Writing to and Reading from Files 575
12.3 Creating Folders on Disk 580
12.4 Enumerating Files and Folders 581
12.5 Deleting Files and Folders 586
12.6 Securing Files on Disk 590
12.7 Saving Objects to Files 595
13. Camera and the Photo Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
13.1 Detecting and Probing the Camera 601
13.2 Taking Photos with the Camera 606
13.3 Taking Videos with the Camera 610
13.4 Storing Photos in the Photo Library 613
13.5 Storing Videos in the Photo Library 616
13.6 Retrieving Photos and Videos from the Photo Library 618
13.7 Retrieving Assets from the Assets Library 620
13.8 Editing Videos on an iOS Device 627
14. Multitasking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
14.1 Detecting the Availability of Multitasking 634
14.2 Completing a Long-Running Task in the Background 635
14.3 Receiving Local Notifications in the Background 638
14.4 Playing Audio in the Background 646
14.5 Handling Location Changes in the Background 648
14.6 Saving and Loading the State of Multitasking iOS Apps 651
14.7 Handling Network Connections in the Background 654
14.8 Handling Notifications Delivered to a Waking App 657
14.9 Responding to Changes in App Settings 659
14.10 Opting Out of Multitasking 662
15. Core Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
15.1 Creating a Core Data Model with Xcode 666
15.2 Generating Class Files for Core Data Entities 670
15.3 Creating and Saving Data Using Core Data 672
15.4 Reading Data from Core Data 674
15.5 Deleting Data from Core Data 677
15.6 Sorting Data in Core Data 680
15.7 Boosting Data Access in Table Views 682
15.8 Implementing Relationships in Core Data 693
16. Dates, Calendars, and Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
16.1 Retrieving the List of Calendars 704
16.2 Adding Events to Calendars 706
16.3 Accessing the Contents of Calendars 710
16.4 Removing Events from Calendars 713
16.5 Adding Recurring Events to Calendars 718
16.6 Retrieving the Attendees of an Event 722
16.7 Adding Alarms to Calendars 727
16.8 Handling Event Changed Notifications 729
16.9 Presenting Event View Controllers 732
16.10 Presenting Event Edit View Controllers 735
17. Graphics and Animations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
17.1 Enumerating and Loading Fonts 747
17.2 Drawing Text 749
17.3 Constructing, Setting, and Using Colors 750
17.4 Drawing Images 756
17.5 Constructing Resizable Images 759
17.6 Drawing Lines 765
17.7 Constructing Paths 771
17.8 Drawing Rectangles 774
17.9 Adding Shadows to Shapes 778
17.10 Drawing Gradients 783
17.11 Displacing Shapes Drawn on Graphic Contexts 790
17.12 Scaling Shapes Drawn on Graphic Contexts 794
17.13 Rotating Shapes Drawn on Graphic Contexts 797
17.14 Animating and Moving Views 798
17.15 Animating and Scaling Views 807
17.16 Animating and Rotating Views 808
18. Core Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
18.1 Detecting the Availability of an Accelerometer 812
18.2 Detecting the Availability of a Gyroscope 814
18.3 Retrieving Accelerometer Data 816
18.4 Detecting Shakes on an iOS Device 819
18.5 Retrieving Gyroscope Data 822
19. iCloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
19.1 Setting Up Your App for iCloud 826
19.2 Storing and Synchronizing Dictionaries in iCloud 831
19.3 Creating and Managing Folders for Apps in iCloud 835
19.4 Searching for Files and Folders in iCloud 841
19.5 Storing User Documents in iCloud 851
19.6 Managing the State of Documents in iCloud 865
19.7 Handling Conflicts in iCloud Documents 868
20. Pass Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879
20.1 Creating Pass Kit Certificates 882
20.2 Creating Pass Files 890
20.3 Providing Icons and Images for Passes 899
20.4 Preparing Your Passes for Digital Signature 901
20.5 Signing Passes Digitally 903
20.6 Distributing Passes Using Email 908
20.7 Distributing Passes Using Web Services 911
20.8 Enabling Your iOS Apps to Access Passes on iOS Devices 913
20.9 Interacting with Passbook Programmatically 917
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923
Learn cocos2D Game Development with iOS 5
Learn cocos2D Game Development with iOS 5
نویسنده: Steffen Itterheim, Andreas Löw
زبان: انگلیسی