深入浅出iPhone和iPad开发 英文PDF电子书下载
- 电子书积分:18 积分如何计算积分?
- 作 者:(美)皮隆等著
- 出 版 社:南京:东南大学出版社
- 出版年份:2011
- ISBN:7564129422
- 页数:636 页
1 Going Mobile with iOS 2
So,you want to build an iOS app 2
'cause everyone wants one! 3
Apps live in an iTunes universe 4
Time to make a decision 5
It all starts with the iPhone SDK 6
Take alook around 7
Xcode includes app templates to help you get started 8
Xcode is a full-featured IDE 9
Xcode is the hub of your iOS project 10
Build your interface within Xcode 14
Add the button to your view 15
The iOS simulator lets you test your app on your Mac 17
iDecide's logic 18
Changing the button text 19
You're using the Model View Controller pattern 23
iDecide is actually a little simpler 24
What happened? 26
Use the GUI editor to connect UI controls to code 27
A component can trigger certain events 28
Connect your events to methods 29
You've built your first iPhone app! 31
Your iOS Toolbox 39
2 Hello,Renee! 43
First we need to figure out what Mike(really)wants 43
App design rules—the iOS HIG 48
HIG guidelines for pickers and buttons 51
Create a new View-based project for InstaEmail 52
The life of a root view 54
We need data 60
Use pickers when you want controlled input 61
Pickers get their data from a datasource 62
That pattern is back 63
First,declare that the controller conforms to both protocols 68
The datasource protocol has two required methods 70
Connect the datasource just like actions and outlets 71
There's just one method for the delegate protocol 72
Actions,outlets,and events 77
Connect the event to the action 81
Next,synthesize the property 85
Connect the picker to our outlet 86
Use your picker reference to pull the selected values 87
Your iOS Toolbox 96
3 Email needs variety 100
Renee is catching on 100
Make room for custom input 101
Header files describe the interface to your class 103
Auto-generated accessors also handle memory management 109
To keep your memory straight,you need to remember just two things 111
But when Mike's finished typing 121
Customize your UITextField 123
Components that use the keyboard ask it to appear 124
Ask the UITextField to give up focus 125
Messages in Objective-C use named arguments 127
Use message passing to tell our View Controller when the Done button is pressed 128
Where's the custom note? 132
Your Objective-C Toolbox 139
4 A table with a view 145
So,how do these views fit together? 145
The navigation template pulls multiple views together 146
The table view is built in 147
A table is a collection of cells 152
Just a few more drinks 160
Plists are an easy way to save and load data 162
Arrays(and more)have built-in support for plists 165
Use a detail view to drill down into data 168
A closer look at the detail view 169
Use the Navigation Controller to switch between views 179
Navigation Controllers maintain a stack of View Controllers 180
Dictionaries store information as key-value pairs 184
Debugging—the dark side of iOS development 187
First stop on your debugging adventure:the console 188
Interact with your application while it's running 189
Xcode supports you after your app breaks,too 190
The Xcode debugger shows you the state of your application 191
Your iOS Toolbox 195
5 Refining your app 198
It all started with Sam 198
Use the debugger to investigate the crash 200
Update your code to handle a plist of dictionaries 203
The Detail View needs data 206
The other keys are key 207
We have a usabilitv problem 213
Use a disclosure button to show there are more details available 215
Sales were going strong 218
Use Navigation Controller buttons to add drinks 223
The button should create a new view 227
We need a view&but not necessarily a new view 228
The View Controller defines the behavior for the view 229
A nib file contains the UI components and connections 230
You can subclass and extend View controllers like any other class 231
Modal views focus the user on the task at hand 236
Any view can present a modal view 237
Our modal view doesn't have a navigation bar 242
Create the Save and Cancel buttons 244
Write the Save and Cancel actions 245
Your iOS Toolbox 249
6 Everyone's an editor... 252
Sam is ready to add a Red-Headed School Girl 252
but the keyboard is in the way 253
Wrap your content in a scroll view 255
The scroll view is the same size as the screen 257
The keyboard changes the visible area 260
iOS notifies you about the keyboard 262
Register with the default notification center for events 263
Keyboard events tell you the keyboard state and size 269
The table view doesn't know its data has changed 288
The array is out of order,too 292
Table views have built-in support for editing and deleting 300
Your iOS Development Toolbox 313
Sam has another project in mind 314
7 We need more room 316
DrinkMixer on the iPad 316
The iPad simulator 318
The HIG covers iPads,too 319
Use Xcode to build your Universal app 326
Check your devices 334
Rotation is key with iPad 337
A persistent view problem 345
Don't forget the tableview 346
Your iOS Development Toolbox 359
8 Enterprise apps 362
HF bounty hunting 362
A new iPhone control 368
Choose a template to start iBountyHunter 372
There's a different structure for universal apps 374
Drawing how iBountyHunter iPhone works 376
and how it fits with the universal app 377
Build the fugitive list view 382
Next up:the Captured view 384
A view's contents are actually subviews 392
After a quick meeting with Bob 394
Core Data lets you focus on your app 396
Core Data needs to know what to load 397
Core Data describes entities with a Managed Object Model 398
Build your Fugitive entity 399
Use an NSFetchRequest to describe your search 410
Bob's database is a resource 417
Back to the Core Data stack 418
The template sets things up for a SQLite DB 419
iOS Apps are read-only 421
The iPhone's application structure defines where you can read and write 422
Copy the database to the Documents directory 423
Your Core Data Toolbox 444
9 Things are changing 446
Bob needs documentation 446
Everything stems from our object model 449
The data hasn't been updated 452
Data migration is a common problem 453
Migrate the old data into the new model 454
Xcode makes it easy to version your data model 455
Core Data can“lightly”migrate data 457
Here's what you've done so far 461
Bob has some design input 462
Your app has a lifecycle all its own 472
Multitasking rules of engagement 473
A quick demo with Bob 476
Use predicates for filtering data 478
We need to set a predicate on our NSFetchRequest 479
Core Data controller classes provide efficient results handling 486
Time for some high-efficiency streamlining 487
Create the new FetchedResultsController getter method 488
We need to refresh the data 493
Your Data Toolbox 499
10 Proof in the real world 502
For Bob,payment requires proof 502
The way to the camera 511
There's a method for checking 521
Prompt the user with action sheets 522
Bob needs the where,in addition to the when 528
Core Location can find you in a few ways 534
Add a new framework 536
Just latitude and longitude won't work for Bob 544
Map Kit comes with iOS 545
A little custom setup for the map 546
Annotations require a little more work 553
Fully implement the annotation protocol 554
Your Location Toolbox 561
11 Natural interfaces 564
Bob needs that iPad app,too 564
iOS HIG user experience guidelines 567
Iterate your interface,too 568
BountyHunterHD is based on a split-view controller 570
Unifying the custom stuff 580
It seems we have a problem 585
UIWebview has lots of options 586
HTML,CSS and Objective-C 588
Using UIWebView 588
Your NUI Toolbox 599
i The top 4 things(we didn't cover) 602
#1.Internationalization and Localization 602
Localizing string resources 604
#2.View animations 606
#3.Accelerometer 607
Understanding device acceleration 608
#4.A word or two about gaming 609
Quartz and OpenGL 610
ii Get ready for the App Store 612
Apple has rules 612
The Provisioning Profile pulls it all together 613
Keep track in the Organizer 614
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《主题公园开发与管理》梁增贤编著 2019
- 《中南高校档案文化资源开发综合研究》涂上飙 2019
- 《普通高等职业教育计算机系列规划教材 Android Studio移动应用开发基础》(中国)吴绍根 2019
- 《Cocos Creator微信小游戏开发实战》王绍明编著 2020
- 《深入推进自我革命》任仲文 2019
- 《CATIA 软件建模与CAA二次开发》胡毕富,吴约旺 2018
- 《Cocos2d-x游戏开发》刘克男编著 2019
- 《深入浅出区块链核心技术与项目分析》梁伟 2019
- 《断陷湖盆比较沉积学与油气储层》赵永胜等著 1996
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017