%PDF-1.4
%
1 0 obj
<<
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding
/Subtype /Type1
/Type /Font
>>
endobj
219 0 obj
<<
/Infix <<
/Changes [ 1578 0 R ]
/GridDivisions 8
/GridSpacing 72
/IceniSetup 1469 0 R
/MaxGID 858
/NamedStyles <<
/Para [ 1436 0 R 1437 0 R 1438 0 R 1439 0 R 1440 0 R 1441 0 R 1442 0 R 1443 0 R 1444 0 R
1445 0 R 1446 0 R 1447 0 R 1448 0 R 1449 0 R 1450 0 R 1451 0 R 1452 0 R 1453 0 R
1454 0 R 1455 0 R 1456 0 R 1457 0 R 1458 0 R 1459 0 R 1460 0 R 1461 0 R 1462 0 R
1463 0 R 1464 0 R 1465 0 R 1466 0 R 1467 0 R 1468 0 R ]
>>
/ShowGrid false
/ShowGuides false
/SnapToGrid false
/UserRestrictions 1435 0 R
>>
/Metadata 2 0 R
/Names 221 0 R
/OpenAction [ 220 0 R /XYZ 0 648 0 ]
/Outlines 222 0 R
/PageLabels <<
/Nums [ 0 <<
/P (i)
>>
1 <<
/P (ii)
>>
2 <<
/P (i)
>>
3 <<
/P (iii)
>>
4 <<
/P (iv)
>>
5 <<
/P (v)
>>
6 <<
/P (vi)
>>
7 <<
/P (vii)
>>
8 <<
/P (viii)
>>
9 <<
/P (ix)
>>
10 <<
/P (x)
>>
11 <<
/P (xi)
>>
12 <<
/P (xii)
>>
13 <<
/S /D
>>
22 <<
/S /D
/St 11
>>
37 <<
/S /D
/St 27
>>
94 <<
/S /D
/St 85
>>
101 <<
/S /D
/St 93
>>
]
>>
/PageMode /UseOutlines
/Pages 223 0 R
/Type /Catalog
>>
endobj
221 0 obj
<<
/Dests 1369 0 R
>>
endobj
222 0 obj
<<
/Count 13
/First 228 0 R
/Last 227 0 R
>>
endobj
223 0 obj
<<
/Count 108
/Kids [ 224 0 R 225 0 R ]
/Type /Pages
>>
endobj
224 0 obj
<<
/Count 100
/Kids [ 277 0 R 418 0 R 524 0 R 621 0 R 718 0 R 818 0 R 906 0 R 996 0 R 1091 0 R 1177 0 R
]
/Parent 223 0 R
/Type /Pages
>>
endobj
225 0 obj
<<
/Count 8
/Kids [ 1266 0 R 1274 0 R 1280 0 R 1292 0 R 1300 0 R 1308 0 R 1316 0 R 1324 0 R ]
/Parent 223 0 R
/Type /Pages
>>
endobj
226 0 obj
<<
/Length 908
/Subtype /XML
/Type /Metadata
>>
stream
application/pdf
RubyMotion
Clay Allsopp
XEP 4.19 build 20110304
Pragmatic Bookshelf
2012-12-11T19:03:02Z
2012-12-11T19:03:02Z
endstream
endobj
227 0 obj
<<
/Dest (N1360F)
/F 2
/Parent 222 0 R
/Prev 269 0 R
/Title (A1. Bibliography)
>>
endobj
228 0 obj
<<
/C [ 0 0 0 ]
/Dest (coverN10003)
/F 2
/Next 229 0 R
/Parent 222 0 R
/Title (Cover)
>>
endobj
229 0 obj
<<
/Dest (tocN10003)
/F 2
/Next 230 0 R
/Parent 222 0 R
/Prev 228 0 R
/Title (Table of Contents)
>>
endobj
230 0 obj
<<
/Dest (chp.forward)
/F 2
/Next 231 0 R
/Parent 222 0 R
/Prev 229 0 R
/Title (Foreword)
>>
endobj
231 0 obj
<<
/Count 4
/Dest (chp.introduction)
/F 2
/First 234 0 R
/Last 233 0 R
/Next 232 0 R
/Parent 222 0 R
/Prev 230 0 R
/Title (Ruby on iOS)
>>
endobj
232 0 obj
<<
/Count 4
/Dest (chp.creating.a.new.app)
/F 2
/First 239 0 R
/Last 238 0 R
/Next 237 0 R
/Parent 222 0 R
/Prev 231 0 R
/Title (1. Creating a New App)
>>
endobj
233 0 obj
<<
/Dest (sec.intro.acknowledgements)
/Parent 231 0 R
/Prev 236 0 R
/Title (Acknowledgments)
>>
endobj
234 0 obj
<<
/Dest (sec.intro.rubymotion)
/Next 235 0 R
/Parent 231 0 R
/Title (Hello, RubyMotion)
>>
endobj
235 0 obj
<<
/Dest (sec.intro.this.book)
/Next 236 0 R
/Parent 231 0 R
/Prev 234 0 R
/Title (Reading This Book)
>>
endobj
236 0 obj
<<
/Dest (sec.intro.online)
/Next 233 0 R
/Parent 231 0 R
/Prev 235 0 R
/Title (Online Resources)
>>
endobj
237 0 obj
<<
/Count 7
/Dest (chp.views)
/F 2
/First 244 0 R
/Last 243 0 R
/Next 242 0 R
/Parent 222 0 R
/Prev 232 0 R
/Title (2. Filling the Screen with Views)
>>
endobj
238 0 obj
<<
/Dest (sec.repl)
/Parent 232 0 R
/Prev 241 0 R
/Title (Interactive Debugging)
>>
endobj
239 0 obj
<<
/Dest (sec.your.first.app)
/Next 240 0 R
/Parent 232 0 R
/Title (Creating a New App)
>>
endobj
240 0 obj
<<
/Dest (sec.app.delegate)
/Next 241 0 R
/Parent 232 0 R
/Prev 239 0 R
/Title (Where It Begins: AppDelegate)
>>
endobj
241 0 obj
<<
/Dest (sec.uialertview)
/Next 238 0 R
/Parent 232 0 R
/Prev 240 0 R
/Title (Showing a Message with UIAlertView)
>>
endobj
242 0 obj
<<
/Count 4
/Dest (chp.controllers)
/F 2
/First 252 0 R
/Last 251 0 R
/Next 250 0 R
/Parent 222 0 R
/Prev 237 0 R
/Title (3. Organizing Apps with Controllers)
>>
endobj
243 0 obj
<<
/Dest (sec.other.libraries)
/Parent 237 0 R
/Prev 249 0 R
/Title (Exploring RubyMotion Libraries)
>>
endobj
244 0 obj
<<
/Dest (sec.uiview)
/Next 245 0 R
/Parent 237 0 R
/Title (All About Views and UIView)
>>
endobj
245 0 obj
<<
/Dest (sec.making.shapes.with.uiview)
/Next 246 0 R
/Parent 237 0 R
/Prev 244 0 R
/Title (Making Shapes and Colors)
>>
endobj
246 0 obj
<<
/Dest (sec.adding.interaction)
/Next 247 0 R
/Parent 237 0 R
/Prev 245 0 R
/Title (Adding Interaction with UIButton)
>>
endobj
247 0 obj
<<
/Dest (sec.view.animations)
/Next 248 0 R
/Parent 237 0 R
/Prev 246 0 R
/Title (Animating Views)
>>
endobj
248 0 obj
<<
/Dest (sec.uilabel)
/Next 249 0 R
/Parent 237 0 R
/Prev 247 0 R
/Title (Adding Static Text with UILabel)
>>
endobj
249 0 obj
<<
/Dest (sec.uitextfield)
/Next 243 0 R
/Parent 237 0 R
/Prev 248 0 R
/Title (Making Text Dynamic with UITextField)
>>
endobj
250 0 obj
<<
/Count 4
/Dest (chp.models)
/F 2
/First 257 0 R
/Last 256 0 R
/Next 255 0 R
/Parent 222 0 R
/Prev 242 0 R
/Title (4. Representing Data with Models)
>>
endobj
251 0 obj
<<
/Dest (sec.modal.viewcontrollers)
/Parent 242 0 R
/Prev 254 0 R
/Title (Presenting Modal UIViewControllers)
>>
endobj
252 0 obj
<<
/Dest (sec.uiviewcontrollers.and.why.they.matter)
/Next 253 0 R
/Parent 242 0 R
/Title (Adding a New UIViewController)
>>
endobj
253 0 obj
<<
/Dest (sec.uinavigationcontroller)
/Next 254 0 R
/Parent 242 0 R
/Prev 252 0 R
/Title (Using Multiple Controllers with UINavigationController)
>>
endobj
254 0 obj
<<
/Dest (sec.uitabbarcontroller)
/Next 251 0 R
/Parent 242 0 R
/Prev 253 0 R
/Title (Separating Controllers with UITabBarController)
>>
endobj
255 0 obj
<<
/Count 5
/Dest (chp.tables)
/F 2
/First 262 0 R
/Last 261 0 R
/Next 260 0 R
/Parent 222 0 R
/Prev 250 0 R
/Title (5. Showing Data with Table Views)
>>
endobj
256 0 obj
<<
/Dest (sec.models.nsuserdefaults)
/Parent 250 0 R
/Prev 259 0 R
/Title (Saving Data with NSUserDefaults and NSCoding)
>>
endobj
257 0 obj
<<
/Dest (sec.basic.models)
/Next 258 0 R
/Parent 250 0 R
/Title (Writing Basic Models)
>>
endobj
258 0 obj
<<
/Dest (sec.scalable.models)
/Next 259 0 R
/Parent 250 0 R
/Prev 257 0 R
/Title (Preparing Scalable Models)
>>
endobj
259 0 obj
<<
/Dest (sec.models.kvo)
/Next 256 0 R
/Parent 250 0 R
/Prev 258 0 R
/Title (Changing Models with Key-Value Observing)
>>
endobj
260 0 obj
<<
/Count 2
/Dest (chp.testing)
/F 2
/First 268 0 R
/Last 267 0 R
/Next 266 0 R
/Parent 222 0 R
/Prev 255 0 R
/Title (6. Testing Your Apps)
>>
endobj
261 0 obj
<<
/Dest (sec.uitableview.groups)
/Parent 255 0 R
/Prev 265 0 R
/Title (Grouped-Style UITableViews)
>>
endobj
262 0 obj
<<
/Dest (sec.basic.uitableview)
/Next 263 0 R
/Parent 255 0 R
/Title (Starting with Simple Rows)
>>
endobj
263 0 obj
<<
/Dest (sec.interacting.uitableview)
/Next 264 0 R
/Parent 255 0 R
/Prev 262 0 R
/Title (Interacting with UITableViews)
>>
endobj
264 0 obj
<<
/Dest (sec.uitableview.sections)
/Next 265 0 R
/Parent 255 0 R
/Prev 263 0 R
/Title (Sections and Indexing Tables)
>>
endobj
265 0 obj
<<
/Dest (sec.uitableview.swipe.delete)
/Next 261 0 R
/Parent 255 0 R
/Prev 264 0 R
/Title (Swiping-to-Delete Table Rows)
>>
endobj
266 0 obj
<<
/Count 4
/Dest (chp.api.app)
/F 2
/First 271 0 R
/Last 270 0 R
/Next 269 0 R
/Parent 222 0 R
/Prev 260 0 R
/Title (7. Example: Writing an API-Driven App)
>>
endobj
267 0 obj
<<
/Dest (sec.ui.tests)
/Parent 260 0 R
/Prev 268 0 R
/Title (Testing App UI and Controllers)
>>
endobj
268 0 obj
<<
/Dest (sec.basic.tests)
/Next 267 0 R
/Parent 260 0 R
/Title (Constructing Basic Tests)
>>
endobj
269 0 obj
<<
/Count 3
/Dest (chp.uploading)
/F 2
/First 275 0 R
/Last 274 0 R
/Next 227 0 R
/Parent 222 0 R
/Prev 266 0 R
/Title (8. Uploading to the App Store)
>>
endobj
270 0 obj
<<
/Dest (sec.example.colorcontroller)
/Parent 266 0 R
/Prev 273 0 R
/Title (POST Requests and ColorController)
>>
endobj
271 0 obj
<<
/Dest (sec.example.setup)
/Next 272 0 R
/Parent 266 0 R
/Title (Setting Up the Project)
>>
endobj
272 0 obj
<<
/Dest (sec.example.models)
/Next 273 0 R
/Parent 266 0 R
/Prev 271 0 R
/Title (Adding Hash-Friendly Models)
>>
endobj
273 0 obj
<<
/Dest (sec.example.searchcontroller)
/Next 270 0 R
/Parent 266 0 R
/Prev 272 0 R
/Title (Making GET Requests and SearchController)
>>
endobj
274 0 obj
<<
/Dest (sec.what.next)
/Parent 269 0 R
/Prev 276 0 R
/Title (What's Next?)
>>
endobj
275 0 obj
<<
/Dest (sec.resources)
/Next 276 0 R
/Parent 269 0 R
/Title (Including App Resources)
>>
endobj
276 0 obj
<<
/Dest (sec.archiving)
/Next 274 0 R
/Parent 269 0 R
/Prev 275 0 R
/Title (Archiving for Release)
>>
endobj
277 0 obj
<<
/Count 10
/Kids [ 220 0 R 282 0 R 286 0 R 314 0 R 326 0 R 339 0 R 368 0 R 395 0 R 401 0 R 407 0 R
]
/Parent 224 0 R
/Type /Pages
>>
endobj
280 0 obj
<<
/BitsPerComponent 8
/ColorSpace /DeviceRGB
/Filter /DCTDecode
/Height 2700
/Length 919345
/Subtype /Image
/Type /XObject
/Width 2250
>>
stream
qExif MM *
( 1 2 Їi - ' - 'Adobe Photoshop CS5 Windows 2012:12:10 11:30:29 0221 ʠ
j r( z H H Adobe_CM Adobe d
" ?
3 !1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw 5 !1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ? TI%>!pgu m֧ F<7 JSoU}huvq}as8>ŧ{=Zj#x-qaHIC,P',a>vO^NHL~CaRȨ,sKa]|]xv>#ixݩis?=/XH04ߣC?bCLg:x+ W0F5
Zn1~uʬ}XAqC=~g]W_%c2r.v鵌e~c
03Fq2F.?7I$I$JRI$߬O# ==x^M62-Ki}8zvn 6/': O^i0wt7fv> l1Xse <_ˇ?N S$?Gl I? QTI%)$IJI$RI$I%)$IJI$S W 积-y6caMx9/e m.sKoW]/R Ϋ ?דܜ,Ll/u,?3us> j,5N_NjAUq3>~I'w;iۄ: k/TI%)%X090 *7[vW^&~6EOʮc M{)WMo
뭥{5s֦r)e=kC뱄8}&)"HX;"ZA
6?E-jYYXbV8⪍k7=B߸Ԕ$}.,
6;6ܒI)I$Js~ s ;^0Yc۟z 5Y9Gzzz/|\veݍg2 @3{6V O~Nr)ws wL0gM%/Fo
kz~o>]RQ {[ {oTI%1{[1s %yC~ZCwU%cT0}O
}YutcZ߲ڽ%kokXVpNX˹c X{=,.wЫѻֵ t~hegb>'dg7ޝmm79}[:8ɳNvIwCq˱rOf>sq袿[W39xg>Y6{=0ݍ~z Gc 7[]Cq-ƟE\kˬcJIZJq{A9`.ak6UM]bݤ#ow,?fXs胪t~{旊]oz7FV;:gah{45ޣg=Y:hsxh9Gn?I] ^IO=rqk# 7Uz
mW&fmoή _N~E#gY2M@6*`ӫ{.rUn0K+voVkkcpŖ=ϒzl}k뭕 JFgZIp7BnE~3Su