Downloadable code examples for my books, "iOS 10 Programming Fundamentals With Swift" (bk1) and "Programming iOS 10" (bk2).
Swift Objective-C Other
Latest commit a513df9 Nov 15, 2016 @mattneub Swift 3.0.1 fixed the bug I was working around, so moved these method…
…s back into separate extensions
Permalink
Failed to load latest commit information.
bk1ch01p015yourFirstInstance starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch01p017instanceProperties starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch02p028basicFunctions starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch02p032paramNames starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch02p035overloading starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch02p036defaultParameters starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch02p038modifiableParameters added example of mutable pointer Sep 5, 2016
bk1ch02p043recursion starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch02p044functionAsValue global AnyObject sender to Any Sep 8, 2016
bk1ch02p047anonymousFunctions very minor tweaks Sep 10, 2016
bk1ch02p051defineAndCall starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch02p052closures starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch02p058closureCapture starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch03p067conditionalInitialization more updates for Xcode 8 seed 6 Aug 18, 2016
bk1ch03p069computedVariables minor Oct 23, 2016
bk1ch03p075lazy starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch03p076boolAndNumbers starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch03p086string starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch03p087stringUnicode actually finished revising bk 1 examples for Xcode 8 seed 6 Aug 19, 2016
bk1ch03p089strings2 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch03p092characterAndRange clarify substring extraction by range Nov 15, 2016
bk1ch03p095tuple starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch03p098optionals starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch03p104optionals2 tweak, dealing with Optional comparison (esp. IUO) Sep 12, 2016
bk1ch04p115initializers starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p121properties starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p125methods starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p127subscripts starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p132enums starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p136enumInitializers starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p140structs starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p142valueTypesAndReferenceTypes starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p149subclasses starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p153classInitializers starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p158classInitializers2 global AnyObject sender to Any Sep 8, 2016
bk1ch04p162classProperties starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p164polymorphism starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p171typeReference starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p172typeReference2 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p177protocols starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p181optionalProtocolMembers starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p187TypeErasure starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p187TypeErasurePrep cleanup objc method issues, demonstrate cell dragging Aug 28, 2016
bk1ch04p187generics starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p193whereClauses starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p194whereClauses2 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p196extensions more updates for Xcode 8 seed 6 Aug 18, 2016
bk1ch04p199umbrellaTypes starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch04p204arrays mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk1ch04p218dictionaries minor tweak Sep 25, 2016
bk1ch04p222sets starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch05p227branching actually finished revising bk 1 examples for Xcode 8 seed 6 Aug 19, 2016
bk1ch05p230switch more updates for Xcode 8 seed 6 Aug 18, 2016
bk1ch05p237conditionalEvaluation minor tweaks; I'm still not happy with the self-sizing text view exam… Sep 5, 2016
bk1ch05p239loops finished tweaking chapter 8 examples; global renaming of data model v… Aug 29, 2016
bk1ch05p240error global AnyObject sender to Any Sep 8, 2016
bk1ch05p240error2 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch05p241defer starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch05p247operators more updates for Xcode 8 seed 6 Aug 18, 2016
bk1ch05p247privacy more updates for Xcode 8 seed 6 Aug 18, 2016
bk1ch05p254memoryManagement more updates for Xcode 8 seed 6 Aug 18, 2016
bk1ch06p297main correct way of calling UIApplicationMain Aug 23, 2016
bk1ch06p300TrulyEmpty starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch07p321nibLoading starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch07p321nibLoading2 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch07p333outletCollectionAndAction global AnyObject sender to Any Sep 8, 2016
bk1ch07p339additionalConfiguration starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch08p350documentation starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch09p357backwardCompatibility actually finished revising bk 1 examples for Xcode 8 seed 6 Aug 19, 2016
bk1ch09p358universal more updates for Xcode 8 seed 6 Aug 18, 2016
bk1ch09p380unitTesting global AnyObject sender to Any Sep 8, 2016
bk1ch09p396localization global AnyObject sender to Any Sep 8, 2016
bk1ch10p418subclassing might be finished revising book 1 examples for Xcode 8 Seed 6 (except… Aug 18, 2016
bk1ch10p428foundationClasses might be finished revising book 1 examples for Xcode 8 Seed 6 (except… Aug 18, 2016
bk1ch10p447accessorsAndKVC might be finished revising book 1 examples for Xcode 8 Seed 6 (except… Aug 18, 2016
bk1ch11p462notifications global AnyObject sender to Any Sep 8, 2016
bk1ch11p466Timer starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch11p467delegation global AnyObject sender to Any Sep 8, 2016
bk1ch11p470dataSource starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch11p472action global AnyObject sender to Any Sep 8, 2016
bk1ch11p472action2 expanded responder chain demo Oct 10, 2016
bk1ch11p477kvo might be finished revising book 1 examples for Xcode 8 Seed 6 (except… Aug 18, 2016
bk1ch11p480delayExample might be finished revising book 1 examples for Xcode 8 Seed 6 (except… Aug 18, 2016
bk1ch12p490autoreleasepool starting to update for Xcode 8 seed 6 Aug 17, 2016
bk1ch12p495danglingPointer global AnyObject sender to Any Sep 8, 2016
bk1ch12p497notificationLeaker global AnyObject sender to Any Sep 8, 2016
bk1ch12p498timerLeaker global AnyObject sender to Any Sep 8, 2016
bk1ch12p498timerLeaker2 global AnyObject sender to Any Sep 8, 2016
bk1ch12p499cancelableTimer updated chapter 22 examples Oct 8, 2016
bk1ch14Appendix global AnyObject sender to Any Sep 8, 2016
bk2ch01p004appWithoutStoryboard starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch01p006customWindowInStoryboardApp mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch01p009experimenting1 eliminate use of mainview alias Oct 9, 2016
bk2ch01p012frame eliminate use of mainview alias Oct 9, 2016
bk2ch01p013bounds eliminate use of mainview alias Oct 9, 2016
bk2ch01p015coordinateSpace starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch01p017transform eliminate use of mainview alias Oct 9, 2016
bk2ch01p024autoresizing eliminate use of mainview alias Oct 9, 2016
bk2ch01p025autoresizingConstraints revised bk 2 chapters 1 thru 5 for Xcode 8 seed 6 Aug 20, 2016
bk2ch01p031constraints eliminate use of mainview alias Oct 9, 2016
bk2ch01p032constraintSwapping tweak: remove unnecessary retains Oct 19, 2016
bk2ch01p033layoutMargins eliminate use of mainview alias Oct 9, 2016
bk2ch01p038constraintsInequalitiesAndPriorities global AnyObject sender to Any Sep 8, 2016
bk2ch01p038evenDistribution starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch01p038evenDistribution2 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch01p038evenDistribution3 eliminate use of mainview alias Oct 9, 2016
bk2ch01p038evenDistribution4 eliminate use of mainview alias Oct 9, 2016
bk2ch01p039conditionalConstraints starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch01p040sizeClasses starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch01p041constraintSwapping2 tweak: remove unnecessary retains Oct 19, 2016
bk2ch01p041designableView global CGPoint initializer without labels Sep 8, 2016
bk2ch01p045constraintsOrderOfEvents starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch01p046transformsAndConstraints starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch01p046transformsAndConstraints2 global AnyObject sender to Any Sep 8, 2016
bk2ch02p050HiResTest2 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch02p051ImageAndTraitCollection starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch02p052ImageReversal revise bk 2 chapters 1 thru 5 for Xcode 8 seed 4 Aug 2, 2016
bk2ch02p052mars eliminate use of mainview alias Oct 9, 2016
bk2ch02p053marsResizable starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch02p056marsSlicing starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch02p057imageRendering starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch02p059sixBlueCircles revised bk 2 chapters 1 thru 5 for Xcode 8 seed 6 Aug 20, 2016
bk2ch02p061imageDrawing revised bk 2 chapters 1 thru 5 for Xcode 8 seed 6 Aug 20, 2016
bk2ch02p070filters minor tweaks, just playing Oct 21, 2016
bk2ch02p070filters2 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch02p071BlurAndVibrancy eliminate use of mainview alias Oct 9, 2016
bk2ch02p077drawingInUIView global CGPoint initializer without labels Sep 8, 2016
bk2ch02p086drawingInUIView2 global CGPoint initializer without labels Sep 8, 2016
bk2ch02p088clearRect starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch03p095layerHierarchy mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch03p101drawingIntoLayer finished pass thru bk 2 chapter 12 examples, global on CGPoint() Sep 7, 2016
bk2ch03p108compass global CGPoint initializer without labels Sep 8, 2016
bk2ch03p112layerDepth global CGPoint initializer without labels Sep 8, 2016
bk2ch03p113transformLayer1 revised bk 2 chapters 1 thru 5 for Xcode 8 seed 6 Aug 20, 2016
bk2ch03p114transformLayer2 global CGPoint initializer without labels Sep 8, 2016
bk2ch03p116maskUtility eliminate use of mainview alias Oct 9, 2016
bk2ch03p117maskUtilityView mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch04p125imageViewAnimation revised bk 2 chapters 1 thru 5 for Xcode 8 seed 6 Aug 20, 2016
bk2ch04p130viewAnimation mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch04p131visualEffectAnimation revised bk 2 chapters 1 thru 5 for Xcode 8 seed 6 Aug 20, 2016
bk2ch04p132viewAnimationFacade global AnyObject sender to Any Sep 8, 2016
bk2ch04p133FrozenAnimation global CGPoint initializer without labels Sep 8, 2016
bk2ch04p133cancelAnimation global AnyObject sender to Any Sep 8, 2016
bk2ch04p133cancelAnimation2 global AnyObject sender to Any Sep 8, 2016
bk2ch04p133cancelAnimation3 mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch04p134springing global AnyObject sender to Any Sep 8, 2016
bk2ch04p135keyFrameViewAnimation global AnyObject sender to Any Sep 8, 2016
bk2ch04p137transition global AnyObject sender to Any Sep 8, 2016
bk2ch04p138transition2 global AnyObject sender to Any Sep 8, 2016
bk2ch04p148layerAnimation mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch04p149keyframeSprite mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch04p151customAnimatableProperty global AnyObject sender to Any Sep 8, 2016
bk2ch04p153groupedAnimation global CGPoint initializer without labels Sep 8, 2016
bk2ch04p157layerTransition global AnyObject sender to Any Sep 8, 2016
bk2ch04p160frozenAnimation starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch04p164actions mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch04p165customAnimatableProperty2 global AnyObject sender to Any Sep 8, 2016
bk2ch04p165customAnimatableProperty3 global CGPoint initializer without labels Sep 8, 2016
bk2ch04p166emitThis mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch04p172CIFilterAnimation global AnyObject sender to Any Sep 8, 2016
bk2ch04p175dynamics global AnyObject sender to Any Sep 8, 2016
bk2ch04p177dynamics2 global AnyObject sender to Any Sep 8, 2016
bk2ch04p178dynamics3 mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch04p178dynamics4 mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch04p183animationAndAutolayout mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch04p183animationAndAutolayout2 global AnyObject sender to Any Sep 8, 2016
bk2ch04p183animationAndAutolayout3 global AnyObject sender to Any Sep 8, 2016
bk2ch04p183animationAndAutolayout4 global AnyObject sender to Any Sep 8, 2016
bk2ch05p194touches revised bk 2 chapters 1 thru 5 for Xcode 8 seed 6 Aug 20, 2016
bk2ch05p203gestureRecognizers starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch05p204Fling starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch05p204dragByAttachment starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch05p205dragByAttachment2 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch05p206gestureRecognizerDelegate mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch05p207gestureRecognizersNib mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch05p208forceTouchGesture decided on a whole different UIPreviewInteraction example; also conti… Aug 22, 2016
bk2ch05p208forceTouchGesture2 decided on a whole different UIPreviewInteraction example; also conti… Aug 22, 2016
bk2ch05p210hitTesting global AnyObject sender to Any Sep 8, 2016
bk2ch05p211compassTappable global CGPoint initializer without labels Sep 8, 2016
bk2ch05p212hitTestingDistortedLayer starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch05p213hitTestingDuringAnimation mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch05p213hitTestingDuringAnimation2 global AnyObject sender to Any Sep 8, 2016
bk2ch05p216exclusiveTouch global AnyObject sender to Any Sep 8, 2016
bk2ch05p217dependency starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p236manualViewController global CGPoint initializer without labels Sep 8, 2016
bk2ch06p237manualViewController2 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p238nibViewController1 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p239nibViewController2 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p239nibViewControllerWorkaround1 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p239nibViewControllerWorkaround2 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p239nibViewControllerWorkaround3 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p239nibViewControllerWorkaround4 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p239nibViewControllerWorkaround4Universal starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p239nibViewControllerWorkaround5 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p242nibInstantiatedViewController1 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p242nibInstantiatedViewController2 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p243storyboardInstantiatedViewController mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch06p244downTheRabbitHole starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p246showHideStatusBar global AnyObject sender to Any Sep 8, 2016
bk2ch06p250sizeChangeTest global AnyObject sender to Any Sep 8, 2016
bk2ch06p253orientationsPermitted starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p253orientationsPermitted2 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p253orientationsPermitted3 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p253orientationsPermitted4 global AnyObject sender to Any Sep 8, 2016
bk2ch06p257rotationChangesInterface3 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p258launchIntoRotationEvents revised bk 2 ch 6 for Xcode 8 seed 6 Aug 20, 2016
bk2ch06p258launchIntoRotationEvents2 revised bk 2 ch 6 for Xcode 8 seed 6 Aug 20, 2016
bk2ch06p259assistiveLayout starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p259assistiveLayout2 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p264presentedViewController mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch06p265presentedViewControllerStoryboard mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch06p270modalPresentationContext tweak these examples to log size classes of presented view controllers Sep 25, 2016
bk2ch06p271presentedViewControllerAdaptive mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch06p271presentedViewControllerAdaptive2 global AnyObject sender to Any Sep 8, 2016
bk2ch06p271presentedViewControllerAdaptive3 global AnyObject sender to Any Sep 8, 2016
bk2ch06p272forcedRotation mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch06p273rotationCausesPresentation still updating 2nd book examples for beta 6: mostly CGRect method nam… Aug 26, 2015
bk2ch06p275tabbedInterface try new iOS 10 feature, seems buggy to me Oct 30, 2016
bk2ch06p281navigationInterface still updating bk 2 ch 8 Aug 25, 2016
bk2ch06p282navigationInterfaceStoryboard still updating bk 2 ch 8 Aug 25, 2016
bk2ch06p292customAnimation1 global AnyObject sender to Any Sep 8, 2016
bk2ch06p296customAnimation2 global AnyObject sender to Any Sep 8, 2016
bk2ch06p300customAnimation3 revised bk 2 ch 6 for Xcode 8 seed 6 Aug 20, 2016
bk2ch06p300customAnimation3b Finished UIPreviewInteraction example, I think Aug 21, 2016
bk2ch06p301customAnimation4 minor Oct 23, 2016
bk2ch06p302addingPresentationController Swift 3.0.1 fixed the bug I was working around, so moved these method… Nov 15, 2016
bk2ch06p304customPresentedAnimation2 Swift 3.0.1 fixed the bug I was working around, so moved these method… Nov 15, 2016
bk2ch06p311pageController decided on a whole different UIPreviewInteraction example; also conti… Aug 22, 2016
bk2ch06p313pageControllerBug global AnyObject sender to Any Sep 8, 2016
bk2ch06p316containerController global AnyObject sender to Any Sep 8, 2016
bk2ch06p317pageControllerChild decided on a whole different UIPreviewInteraction example; also conti… Aug 22, 2016
bk2ch06p319containerControllerConstraints global AnyObject sender to Any Sep 8, 2016
bk2ch06p320containerControllerCustomAnimation global AnyObject sender to Any Sep 8, 2016
bk2ch06p321overrideTraitCollection global AnyObject sender to Any Sep 8, 2016
bk2ch06p322containerControllerSizeMessaging global AnyObject sender to Any Sep 8, 2016
bk2ch06p324PeekAndPop starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p324containerViewControllerStoryboard mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch06p325customSegue global AnyObject sender to Any Sep 8, 2016
bk2ch06p326PresentedCascadeUnwind revised bk 2 ch 6 for Xcode 8 seed 6 Aug 20, 2016
bk2ch06p326PresentedCascadeUnwind2 revised bk 2 ch 6 for Xcode 8 seed 6 Aug 20, 2016
bk2ch06p326TabbedUnwind minor Aug 22, 2016
bk2ch06p326unwindWithCustomParent revised bk 2 ch 6 for Xcode 8 seed 6 Aug 20, 2016
bk2ch06p327unwind revised bk 2 ch 6 for Xcode 8 seed 6 Aug 20, 2016
bk2ch06p327unwind2 revised bk 2 ch 6 for Xcode 8 seed 6 Aug 20, 2016
bk2ch06p332eventIncoherencies starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch06p334containerEventForwarding global AnyObject sender to Any Sep 8, 2016
bk2ch06p336memoryWarning minor Oct 23, 2016
bk2ch06p341SimplestRestorationExample minor Aug 23, 2016
bk2ch06p347SimplestRestorationExample2 global AnyObject sender to Any Sep 8, 2016
bk2ch06p351pageControllerRestoration decided on a whole different UIPreviewInteraction example; also conti… Aug 22, 2016
bk2ch06p352pageControllerRestoration2 decided on a whole different UIPreviewInteraction example; also conti… Aug 22, 2016
bk2ch06p353pageControllerRestoration3 decided on a whole different UIPreviewInteraction example; also conti… Aug 22, 2016
bk2ch06p356saveAndRestoreArbitraryObject global AnyObject sender to Any Sep 8, 2016
bk2ch07p360scrollViewInCode starting to tweak bk 2 ch 7 examples for Xcode 8 seed 6 Aug 23, 2016
bk2ch07p362scrollViewInCode2 starting to tweak bk 2 ch 7 examples for Xcode 8 seed 6 Aug 23, 2016
bk2ch07p363scrollViewInCode3 starting to convert book 2 chapter 8 examples for Xcode 8 seed 6; als… Aug 25, 2016
bk2ch07p366scrollViewInNib minor Aug 24, 2016
bk2ch07p367scrollViewInNibAutolayout starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch07p367scrollViewInNibAutolayout2 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch07p370contentInset starting to convert book 2 chapter 8 examples for Xcode 8 seed 6; als… Aug 25, 2016
bk2ch07p370contentInset2 starting to tweak bk 2 ch 7 examples for Xcode 8 seed 6 Aug 23, 2016
bk2ch07p370contentInset3 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch07p372paging global AnyObject sender to Any Sep 8, 2016
bk2ch07p374scrollWithTiling starting to tweak bk 2 ch 7 examples for Xcode 8 seed 6 Aug 23, 2016
bk2ch07p375zoom starting to tweak bk 2 ch 7 examples for Xcode 8 seed 6 Aug 23, 2016
bk2ch07p376zoomCentered starting to tweak bk 2 ch 7 examples for Xcode 8 seed 6 Aug 23, 2016
bk2ch07p376zoomCentered2 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch07p376zoomCentered3 starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch07p378zoomDetailed minor tweak Oct 17, 2016
bk2ch07p378zoomDetailed2 starting to tweak bk 2 ch 7 examples for Xcode 8 seed 6 Aug 23, 2016
bk2ch07p383dragInScrollView starting to tweak bk 2 ch 7 examples for Xcode 8 seed 6 Aug 23, 2016
bk2ch07p384dragInScrollView2 minor Aug 24, 2016
bk2ch08p398cellBackgroundLayering starting to convert book 2 chapter 8 examples for Xcode 8 seed 6; als… Aug 25, 2016
bk2ch08p400separatorInset starting to convert book 2 chapter 8 examples for Xcode 8 seed 6; als… Aug 25, 2016
bk2ch08p402overrideCellLayout starting to convert book 2 chapter 8 examples for Xcode 8 seed 6; als… Aug 25, 2016
bk2ch08p403addCellSubviewsInCode starting to convert book 2 chapter 8 examples for Xcode 8 seed 6; als… Aug 25, 2016
bk2ch08p405addCellSubviewsInNib starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch08p406addCellSubviewsNibOutlets starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch08p407addCellSubviewsInStoryboard still updating bk 2 ch 8 Aug 25, 2016
bk2ch08p411individualCells minor tweaks Aug 28, 2016
bk2ch08p412SimplestDataSource global AnyObject sender to Any Sep 8, 2016
bk2ch08p416sections finished tweaking chapter 8 examples; global renaming of data model v… Aug 29, 2016
bk2ch08p424variableHeights starting to convert book 2 chapter 8 examples for Xcode 8 seed 6; als… Aug 25, 2016
bk2ch08p425variableHeights2 new variable row heights example Sep 28, 2016
bk2ch08p431pickACell still still updating chapter 8 Aug 26, 2016
bk2ch08p438searchableTable finished tweaking chapter 8 examples; global renaming of data model v… Aug 29, 2016
bk2ch08p438searchableTable2 finished tweaking chapter 8 examples; global renaming of data model v… Aug 29, 2016
bk2ch08p438searchableTable3 finished tweaking chapter 8 examples; global renaming of data model v… Aug 29, 2016
bk2ch08p438searchableTable4 finished tweaking chapter 8 examples; global renaming of data model v… Aug 29, 2016
bk2ch08p438searchableTable5 global AnyObject sender to Any Sep 8, 2016
bk2ch08p445deleteTableRows global AnyObject sender to Any Sep 8, 2016
bk2ch08p446rowActions global AnyObject sender to Any Sep 8, 2016
bk2ch08p447editInsertAndRearrangeRows more minor tweaks Aug 29, 2016
bk2ch08p451dynamicTableContent finished tweaking chapter 8 examples; global renaming of data model v… Aug 29, 2016
bk2ch08p453tableCellMenus finished tweaking chapter 8 examples; global renaming of data model v… Aug 29, 2016
bk2ch08p454tableCellMenus2 global AnyObject sender to Any Sep 8, 2016
bk2ch08p460collectionViewCellBackgroundLayering starting to convert book 2 chapter 8 examples for Xcode 8 seed 6; als… Aug 25, 2016
bk2ch08p462collectionViewFlowLayout finished tweaking chapter 8 examples; global renaming of data model v… Aug 29, 2016
bk2ch08p466collectionViewFlowLayout2 nice little improvement, make remove(at:) take a set Oct 24, 2016
bk2ch08p466decorationView nice little improvement, make remove(at:) take a set Oct 24, 2016
bk2ch08p467collectionViewLayoutFromScratchObjc continue to anticipate Swift 2.2 / 3 (mostly increment operator), plu… Feb 11, 2016
bk2ch08p467collectionViewLayoutFromScratchSwift global AnyObject sender to Any Sep 8, 2016
bk2ch09p476popovers mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch09p477popoversOnPhone global AnyObject sender to Any Sep 8, 2016
bk2ch09p481popoverInStoryboard updating chapter 8 for Xcode 8 seed 6 Aug 30, 2016
bk2ch09p481popoverInStoryboard2 updating chapter 8 for Xcode 8 seed 6 Aug 30, 2016
bk2ch09p485PopoverPresentingViewController global AnyObject sender to Any Sep 8, 2016
bk2ch09p487searchInPopover updating chapter 8 for Xcode 8 seed 6 Aug 30, 2016
bk2ch09p488basicMasterDetail mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch09p488universalSplitViewControllerStoryboardTemplateAnalysis global AnyObject sender to Any Sep 8, 2016
bk2ch09p489universalSplitViewControllerStoryboard2 mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch09p490universalSplitViewControllerManual minor formatting tweaks Oct 26, 2016
bk2ch09p492TestingMultitasking global AnyObject sender to Any Sep 8, 2016
bk2ch10p495TableWithDynamicType global AnyObject sender to Any Sep 8, 2016
bk2ch10p495dynamicType just testing a few small iOS 10 additions Oct 18, 2016
bk2ch10p497downloadableFonts revising book 2 chapter 10 examples Sep 2, 2016
bk2ch10p498fontDescriptor mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch10p499fontDescriptor2 mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch10p503attributedString revising book 2 chapter 10 examples Sep 2, 2016
bk2ch10p504RTFImportTest revising book 2 chapter 10 examples Sep 2, 2016
bk2ch10p505UnderliningTest starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch10p507tabStops test link color Oct 9, 2016
bk2ch10p508AttributedTextAsSecretMarking global AnyObject sender to Any Sep 8, 2016
bk2ch10p509attributedStringDrawing revising book 2 chapter 10 examples Sep 2, 2016
bk2ch10p510attributedStringDrawing2 finished revising book 2 chapter 10 examples Sep 4, 2016
bk2ch10p510attributedStringDrawing3 updating book 2 chapter 10 for Xcode 8 seed 6 Sep 2, 2016
bk2ch10p511labelHighlightedTextColor still revising book 2 chapter 10 examples Sep 3, 2016
bk2ch10p512labelBreaking updating book 2 chapter 10 for Xcode 8 seed 6 Sep 2, 2016
bk2ch10p513selfSizingLabel still revising book 2 chapter 10 examples Sep 3, 2016
bk2ch10p513selfSizingLabel2 updating book 2 chapter 10 for Xcode 8 seed 6 Sep 2, 2016
bk2ch10p513selfSizingLabel3 still revising book 2 chapter 10 examples Sep 3, 2016
bk2ch10p514labelFontSizeScaling starting to update for Xcode 8 seed 6 Aug 17, 2016
bk2ch10p520textFieldSliding mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch10p522textFieldScrollView mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch10p524keyboardAccessory just testing a few small iOS 10 additions Oct 18, 2016
bk2ch10p525InputViewTest still revising book 2 chapter 10 examples Sep 3, 2016
bk2ch10p525ShortcutsBarTest global AnyObject sender to Any Sep 8, 2016
bk2ch10p526textFieldDelegate minor tweaks, probably finished with chapter 13 examples Sep 19, 2016
bk2ch10p531selfSizingTextView completely revamp self-sizing text view example Oct 16, 2016
bk2ch10p532textViewAndKeyboard mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch10p536exclusionPath finished revising book 2 chapter 10 examples Sep 4, 2016
bk2ch10p537exclusionPath2 updating book 2 chapter 10 for Xcode 8 seed 6 Sep 2, 2016
bk2ch10p539textKitStacks finished revising book 2 chapter 10 examples Sep 4, 2016
bk2ch10p541textLayoutGeometry global AnyObject sender to Any Sep 8, 2016
bk2ch10p543drawingWithTextKit updating book 2 chapter 10 for Xcode 8 seed 6 Sep 2, 2016
bk2ch11p551webview global AnyObject sender to Any Sep 8, 2016
bk2ch11p552webkit global AnyObject sender to Any Sep 8, 2016
bk2ch11p553webkit2 mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch12p564timeConsumingNavigation updated examples from bk 2 ch 12 Sep 6, 2016
bk2ch12p565customActivityIndicator working my way through chapter 12 examples again Sep 6, 2016
bk2ch12p566customThermometer tweak circular button example Nov 14, 2016
bk2ch12p567observingNSProgress global AnyObject sender to Any Sep 8, 2016
bk2ch12p568pickerView working my way through chapter 12 examples again Sep 6, 2016
bk2ch12p573searchBarFromHell finished pass thru bk 2 chapter 12 examples, global on CGPoint() Sep 7, 2016
bk2ch12p580stepper global AnyObject sender to Any Sep 8, 2016
bk2ch12p582datePicker global AnyObject sender to Any Sep 8, 2016
bk2ch12p585slider still updating bk 2 ch 8 Aug 25, 2016
bk2ch12p589segmentedControl cleanup, esp. using context's fill method Oct 26, 2016
bk2ch12p595button finished pass thru bk 2 chapter 12 examples, global on CGPoint() Sep 7, 2016
bk2ch12p597knob global CGPoint initializer without labels Sep 8, 2016
bk2ch12p598SliderBubble updated examples from bk 2 ch 12 Sep 6, 2016
bk2ch12p602toolbarShadowBug cleanup, esp. using context's fill method Oct 26, 2016
bk2ch12p606navigationBar cleanup, esp. using context's fill method Oct 26, 2016
bk2ch12p609tabBar finished pass thru bk 2 chapter 12 examples, global on CGPoint() Sep 7, 2016
bk2ch12p611tabBarMore finished pass thru bk 2 chapter 12 examples, global on CGPoint() Sep 7, 2016
bk2ch12p612tintColor global AnyObject sender to Any Sep 8, 2016
bk2ch13p620dialogsOniPhone mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch13p624actionSheetPopovers global AnyObject sender to Any Sep 8, 2016
bk2ch13p630localNotification minor tweaks Sep 18, 2016
bk2ch13p631todayExtension minor tweaks, probably finished with chapter 13 examples Sep 19, 2016
bk2ch13p635activityView minor tweaks, probably finished with chapter 13 examples Sep 19, 2016
bk2ch13p635activityView2 updated chapter 13 examples Sep 16, 2016
bk2ch13p636actionExtension minor formatting tweaks Oct 26, 2016
bk2ch14p640systemSound finished revising chapter 14 examples, added new speech recognition e… Sep 25, 2016
bk2ch14p640systemSound2 finished revising chapter 14 examples, added new speech recognition e… Sep 25, 2016
bk2ch14p643ducking finished revising chapter 14 examples, added new speech recognition e… Sep 25, 2016
bk2ch14p644remote finished revising chapter 14 examples, added new speech recognition e… Sep 25, 2016
bk2ch14p653backgroundPlayerAndInterrupter oops Sep 28, 2016
bk2ch14p655AVAudioEngineTest mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch14p655MIDI finished revising chapter 14 examples, added new speech recognition e… Sep 25, 2016
bk2ch14p656textToSpeech mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch14p657speechToText revised my authorization strategy to get onto the main thread just in… Sep 30, 2016
bk2ch15p659SimplestAVKit clean up stray "in" lines Oct 14, 2016
bk2ch15p660EmbeddedAVKit finished tweaking chapter 15 examples Sep 27, 2016
bk2ch15p661EmbeddedAVKit2 tweaks to chapter 15 examples Sep 26, 2016
bk2ch15p672AVKitComposition mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch15p672playerLayer eliminate otiose import Oct 3, 2016
bk2ch16p678mediaQuery revised my authorization strategy to get onto the main thread just in… Sep 30, 2016
bk2ch16p687AVQueuePlayer minor formatting tweaks Oct 26, 2016
bk2ch16p690mediaPicker revised my authorization strategy to get onto the main thread just in… Sep 30, 2016
bk2ch17p697pickaMovieOrPhoto mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch17p699photoKitData mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch17p700DinnerAndAMovie mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch17p700PhotoKitImages clean up stray "in" lines Oct 14, 2016
bk2ch17p701LivePhotoDisplay mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch17p702takeAPicture mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch17p704takeAPicture2 cleanup, esp. using context's fill method Oct 26, 2016
bk2ch17p707takeAPicAVFoundation finished revising chapter 17 examples, including new live photo displ… Oct 2, 2016
bk2ch18p713addressBookNew looks better with translucent navbar Nov 15, 2016
bk2ch19p725calendar minor tweak, remove unnecessary use of lend Oct 27, 2016
bk2ch19p731reminders finished revising chapter 19 examples Oct 5, 2016
bk2ch20p740social chapter 20 example now compiles Oct 5, 2016
bk2ch21p744maps mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch21p761userLocationAndGeocoding mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch22p773location simplify this API Oct 9, 2016
bk2ch22p773locationDeferred okay, I finally got this to work on my iOS 9 device! so this is now a… Oct 10, 2016
bk2ch22p775heading updated chapter 22 examples Oct 8, 2016
bk2ch22p780shake updated chapter 22 examples Oct 8, 2016
bk2ch22p782lyingDown mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch22p784smackMe updated chapter 22 examples Oct 8, 2016
bk2ch22p787gyro updated chapter 22 examples Oct 8, 2016
bk2ch22p789attitudeRotation updated chapter 22 examples Oct 8, 2016
bk2ch22p790motionActivity updated chapter 22 examples Oct 8, 2016
bk2ch23p798basicFileOperations better use of FileManager Oct 13, 2016
bk2ch23p802fileHandoff mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch23p809peopleGroups better use of FileManager Oct 13, 2016
bk2ch23p818xml still revising chapter 23 examples, Core Data example now runs! Oct 12, 2016
bk2ch23p821SQLite better use of FileManager Oct 13, 2016
bk2ch23p824peopleGroupsCoreData still revising chapter 23 examples, Core Data example now runs! Oct 12, 2016
bk2ch23p829imageIO better use of FileManager Oct 13, 2016
bk2ch24p834simpleHTTP mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch24p837lessSimpleHTTP minor tweaks Oct 15, 2016
bk2ch24p838lessSimpleHTTP2 minor tweaks Oct 15, 2016
bk2ch24p842downloader fix crash, remove unnecessary dispatch Oct 16, 2016
bk2ch24p846backgroundDownload finished revising chapter 24 examples Oct 14, 2016
bk2ch24p848onDemandResources mostly get rid of Swift 3.0.1 idiotic "implicit conversion to Any" me… Oct 30, 2016
bk2ch24p853bonjour global AnyObject sender to Any Sep 8, 2016
bk2ch25p860mandelbrotNoThreading chapter 25 examples now compile (and are slow enough) Oct 16, 2016
bk2ch25p862mandelbrotManualThreading chapter 25 examples now compile (and are slow enough) Oct 16, 2016
bk2ch25p865mandelbrotOperation finished revising chapter 25 examples Oct 16, 2016
bk2ch25p868mandelbrotGCD finished my second read-aloud of chapter 25 (38) Oct 17, 2016
bk2ch26p878undoableDrag really finished tweaking chapter 26 examples Oct 18, 2016
bk2ch26p878undoableDrag2 chapter 26 examples now compile Oct 17, 2016
bk2ch26p878undoableDrag3 really finished tweaking chapter 26 examples Oct 18, 2016
bk2ch26p878undoableDrag4 really finished tweaking chapter 26 examples Oct 18, 2016
bk2ch28AppendixB nice little improvement, make remove(at:) take a set Oct 24, 2016
iOS7bookExamples copy iOS 7 book examples off to their own folder Jul 4, 2014
iOS8bookExamples copy all iOS 8 book examples into folder Jun 11, 2015
iOS9bookExamples turn swift3 branch into master, moved iOS 9 examples off into their o… Sep 15, 2016
README.md update readme Oct 18, 2016

README.md

These are the complete downloadable code examples for my books, iOS 10 Programming Fundamentals With Swift (http://shop.oreilly.com/product/0636920055211.do) and Programming iOS 10 (http://shop.oreilly.com/product/0636920055235.do).

Examples have been completely revised for Xcode 8, Swift 3, and iOS 10.

If you find these examples helpful and you haven't purchased the books, please consider doing so.

The downloadable code for the three previous editions has been moved off to subfolders "iOS9bookExamples", "iOS8bookExamples" and "iOS7bookExamples". The code for the earlier editions has been removed.

Matt Neuburg