Sample code shown in NSScreencast episodes.
Objective-C C Swift Shell Ruby Assembly Other
Latest commit 30739c7 Sep 23, 2016 @subdigital Episode 237
Permalink
Failed to load latest commit information.
001-objective-c-basics/SchoolApp Episode 1 example app Feb 5, 2012
002-diagnosing-memory-problems/MemoryProblems Added episode 2 source code Feb 7, 2012
003-tableview-basics/TableViewBasics Added episode 3 sample code Feb 12, 2012
004-bdd-style-testing-with-kiwi Episode 32 sample code Sep 6, 2012
005-cocoa-pods added episode 5 source Feb 26, 2012
006-afnetworking/BeerList episode 6 source code Mar 8, 2012
007-serializing-data/Bookmarks Finished sample for episode 7 Mar 14, 2012
008-automatic-paging Show notes as readme Mar 22, 2012
009-automatic-reference-counting/Bookmarks Finished sample for episode 9 Mar 29, 2012
010-fun-with-blocks/FunWithBlocks Episode 10 sample Apr 5, 2012
011-core-data-basics/CoreDataBasics Episode 11 sample code Apr 13, 2012
012-core-data-importing-data/BeerBrowser Revert "Fix issue where duplicate records were being inserted" May 1, 2014
013-jenkins Fix broken test Apr 21, 2012
014-tracking-download-progress/TrackingDownloadProgress Tracking download progress example May 3, 2012
015-http-caching/CacheClient Episode 15 source code May 10, 2012
016-kvo/KVOFun Episode 16 sample code May 17, 2012
017-app-provisioning/nsscreencast Episode 17 sample code May 24, 2012
019-push-notifications Episode 19 sample code Jun 26, 2012
021-custom-navbar/CustomizingNavigationBar Swapped episode 21 & 22 Jun 26, 2012
022-custom-tabbar/CustomizingNavigationBar Swapped episode 21 & 22 Jun 26, 2012
023-intro-to-storyboards/StoryboardSample Added episode 23 Jul 19, 2012
024-pull-to-refresh/PullToRefresh Finished pull to refresh sample Jul 12, 2012
025-custom-picker-component-part-1/CustomPicker Episode 25 Jul 19, 2012
026-custom-picker-component-part-2/CustomPicker-finished Fix warnings with iOS 6 Apr 8, 2013
027-new-objective-c-syntax/SyntaxLevelUp Episode 27 sample code Jul 30, 2012
028-creating-a-cocoapod/BSModalPickerView Readme pointing to the real code for ep 28 Aug 16, 2012
029-rubymotion ep 29 sample code Aug 16, 2012
030-parse/Fotogram Finished parse example Aug 23, 2012
031-forms Added epsisode 35 sample code Sep 27, 2012
032-core-graphics-gradients/FunWithGradients Fix ARM+ARC EXC_BAD_ACCESS in glossy gradient drawing Sep 19, 2012
033-core-graphics-polygons/DrawingPolygons fix incorrect sin/cos for x & y Apr 14, 2014
034-upgrading-to-ios6/UpgradeDemo2 Added ep 34 sample code Sep 20, 2012
035-autolayout-fun/AutolayoutFun Added epsisode 35 sample code Sep 27, 2012
036-searching-in-uitableview/SearchStore Fix crash for nil moc Dec 2, 2012
038-class-introspection/Introspecty Episode 38 sample code Oct 25, 2012
039-smart-json-parsing/SmartJsonParsing Episode 39 sample code Oct 25, 2012
040-shine-effect/nsscreencast episode 40 sample code Nov 1, 2012
041-authentication-with-afnetworking Finished ep 41 sample app Nov 8, 2012
042-retrying-requests/AuthClient Completed episode 42 sample code Nov 16, 2012
043-avaudioplayer AVAudioPlayer sample Nov 29, 2012
044-in-app-purchases/iap Removed weird chars Dec 6, 2012
045-validating-iap-receipts Finished episode 45 sample Dec 13, 2012
045-validating-iap iap gateway changes for 045 May 1, 2014
046-fun-with-uicollectionview/CollectionViewFun episode 46 sample code Dec 20, 2012
047-gesture-recognizers/PhotoTable Using the shouldRecognizeSimultaneouslyWithGestureRecognizer Apr 9, 2013
048-code-snippets Sample code snippets Jan 10, 2013
049-slide-out-menus/SlideOutMenus Added replacement list icon Jan 25, 2013
050-custom-cells Finished episode 50 sample code Jan 24, 2013
051-intro-to-restkit-mapping Finished episode 51 Jan 31, 2013
052-restkit-core-data Finished example Feb 4, 2013
053-restkit-object-manager Added readme for 53 Feb 14, 2013
054-pony-debugger/BeerInfo Added ep. 54 source code Feb 21, 2013
055-versioning/Versioner Episode 55 sample code Feb 28, 2013
056-twitter-integration Twitter integration episode Mar 3, 2013
057-facebook-integration Added facebook sample code Mar 13, 2013
058-container-view-controllers/SlidePopExample Added episode 58 sample code Mar 21, 2013
059-windows-azure-mobile-services Added episode 59 sample code Mar 28, 2013
060-windows-azure-mobile-services-part-2/nsscreencast-chat Added ep60 code directly Apr 2, 2013
061-cocoa-lumberjack/LoggingApp Added episode 61 sample code Apr 4, 2013
062-mailing-logs/LoggingApp Add ep62 sample code Apr 11, 2013
063-from-scratch/WhatsAround Episode 63 Apr 18, 2013
064-mapkit-annotations Episode 64 Apr 25, 2013
066-processing-shape-files Episode 066 sample code May 9, 2013
067-map-overlays/WhatsAround-Overlay Add 067 map overlay sample May 16, 2013
068-xcode-project-templates/NSScreencast Templates/Application.xctemplate Add episode 68 May 23, 2013
069-nsfetchedresultscontroller NSFetchedResultsController example May 30, 2013
070-autolayout-with-cells add ep 70 Jun 6, 2013
071-nsnumberformatter Episode 71 sample code Jun 12, 2013
072-objective-c-collections/FunWithCollections Episode 72 sample code Jun 21, 2013
073-ssl-pinning/PinningDemo Pinning demo for episode 73 Jun 28, 2013
074-oauth2/InstagramClient Oauth2 sample project Jul 5, 2013
075-a-tale-of-uiscrollview-customization Scroll view examples Jul 9, 2013
076-extracting-data-from-strings/RegexCli added e76 Jul 18, 2013
077-tdd-money-with-specta-and-expecta/MoneyTDD Episode 77 Jul 25, 2013
078-tdd-money-part-2/MoneyTDD Episode 78 Aug 1, 2013
079-sketch Sketch assets Aug 8, 2013
081-associated-objects/BlockButton ep 81 Aug 22, 2013
082-tdd-view-controllers-with-specta-and-ocmock/LoginTester Episode 91 Oct 17, 2013
083-tdd-view-controllers-part-2/LoginTester Episode 83 Sep 5, 2013
084-xctool/LoginTester Episode 84 Sep 12, 2013
085-hello-ios7/HelloIOS7 Episode 085 Sep 19, 2013
086-ios7-view-controller-transitions Episode 86 Sep 19, 2013
087-xcode5-autolayout-improvements Episode 087 Sep 26, 2013
088-interactive-view-controller-transitions Episode 88 Sep 24, 2013
089-networking-in-ios7/TuneStore Episode 89 Oct 3, 2013
090-tableview-images-in-ios7/TuneStore Check for error in response Oct 15, 2013
091-afnetworking-2-0/TuneStore remove some files Oct 17, 2013
092-background-fetch Episode 92 Oct 24, 2013
093-background-transfers/ImageDownloader Create bg session lazily Nov 17, 2013
094-upgrading-an-old-project-to-xctest/GuessTheNumber-XCTest Episode 94 Nov 7, 2013
095-fun-with-i-beacons/BeaconFun Episode 95 Nov 14, 2013
096-face-detection/CoreImageFun Episode 96 Nov 21, 2013
097-scrolling-nub/ScrollingNub Episode 97 completed Nov 28, 2013
098-camera-capture/LiveVideoCapture Episode 98 Dec 5, 2013
099-parsing-and-formatting-dates/DateFormattingFun Episode 99 Dec 12, 2013
100-particle-systems/ParticleFun Episode 100 Dec 19, 2013
101-nspredicate/PredicateFun Episode 101 Jan 2, 2014
102-refactoring-view-controllers Add episode 102 Jan 9, 2014
103-refactoring-view-controllers-part-2 Episode 103 Jan 16, 2014
104-blur/BlurDemo Episode 104 Jan 23, 2014
105-strong-versus-copy/CopyVersusStrong Episode 105 Jan 30, 2014
106-uitableviewcell-swipe-action/SwipeCellAction Episode 106 Feb 4, 2014
107-swipe-to-reveal-cells Episode 109 Feb 27, 2014
108-unwinding-segues Episode 108 Feb 19, 2014
109-mdmcoredata Now using NSManagedObject category. Feb 28, 2014
110-swipe-to-reveal-redux Fix retain cycle by setting tableView pointer to weak Mar 6, 2014
111-xcode51/Xcode51 Episode 112 Mar 20, 2014
112-giggletouch Episode 112 Mar 20, 2014
113-giggletouch-part-2/GiggleTouch Episode 113 Apr 3, 2014
114-playing-sounds-with-sprite-kit/GiggleTouch Episode 114 Apr 10, 2014
116-mantle Episode 116 Apr 21, 2014
117-url-schemes Need to return yes if we handled it May 1, 2014
118-integrating-with-1password/LoginDemo Episode 118 May 15, 2014
119-url-scheme-callbacks Episode 119 May 15, 2014
120-mantle-with-core-data Episode 120 May 22, 2014
121-mantle-with-core-data-part-2/MantleWithCoreData Episode 121 May 29, 2014
122-animating-with-pop/PopDemo Episode 122 Jun 5, 2014
123-sthttprequest/STHTTPDemo Episode 123 Jun 12, 2014
124-method-swizzling/SwizzleFun Episode 124 Jun 19, 2014
125-swift-basics Fixes for newer swift changes Nov 2, 2014
126-swift-classes Fixes for newer swift changes Nov 2, 2014
127-swift-operators Updated for swift changes Aug 9, 2014
128-swift-networking Updated for swift changes Aug 9, 2014
129-swift-json Updated for swift changes Aug 9, 2014
130-swift-json-redux-part-1 Fixes Xcode 6.1 GM Seed 2 compile errors Oct 16, 2014
131-swift-json-redux-part-2 Fixes Xcode 6.1 GM Seed 2 compile errors Oct 19, 2014
132-realm/RealmDemo Episode 132 Aug 14, 2014
133-auto-layout-in-code/LayoutFun Episode 133 Aug 21, 2014
134-visual-format-language/LayoutFun Episode 134 Aug 28, 2014
135-animating-constraints/LayoutFun Episode 135 Aug 28, 2014
136-clipping-paths/ConnectFour Episode 136 Sep 11, 2014
137-fun-with-uikit-dynamics/FunWithDynamics episode 137 Sep 18, 2014
138-ibdesignable/IBDesignableDemo Episode 138 Sep 25, 2014
139-today-extensions-in-ios8/CoffeeTracker Episode 139 Oct 2, 2014
140-uiattachments/AttachmentDemo Episode 140 Oct 9, 2014
141-simulating-rope-with-uikit-dynamics/Ropes Episode 141 Oct 16, 2014
142-error-handling-in-swift/Result.playground Episode 142 Oct 23, 2014
143-flat-map/FlatMap.playground Episode 143 Oct 30, 2014
144-share-extensions-part-1 Episode 144 Nov 11, 2014
145-share-extensions-part-2 Episode 145 Nov 13, 2014
146-vibrancy-and-blur/BlurDemo Episode 146 Nov 22, 2014
147-core-image/CoreImageDemo Episode 147 Nov 22, 2014
148-function-composition-with-ci-filters Episode 148 Dec 11, 2014
149-how-bezier-paths-work Episode 149 Dec 18, 2014
150-cocoa-windows/HelloCocoa Episode 150 Jan 1, 2015
151-cabasicanimation/CABasicAnimations Episode 151 Jan 8, 2015
152-cocoa-bindings/CocoaBindings episode 152 Jan 15, 2015
153-feature-toggles/Toggle Episode 153 Jan 20, 2015
154-xcconfig-files/ConfigDemo Episode 154 Jan 29, 2015
155-xcconfig-files-part-2/ConfigDemo Episode 155 Feb 5, 2015
156-road-trip-dj-part-1 Episode 156 Feb 13, 2015
157-road-trip-dj-part-2/RoadTripDJ Episode 157 Feb 19, 2015
158-road-trip-dj-part-3/RoadTripDJ Episode 158 Feb 26, 2015
159-road-trip-dj-part-4/RoadTripDJ Episode 159 Mar 9, 2015
160-road-trip-dj-part-5/RoadTripDJ Episode 160 Mar 12, 2015
161-road-trip-dj-part-6/RoadTripDJ Episode 161 Mar 16, 2015
162-road-trip-dj-part-7/RoadTripDJ Episode 162 Mar 17, 2015
163-road-trip-dj-part-8/RoadTripDJ episode 163 Apr 6, 2015
164-road-trip-dj-part-9/RoadTripDJ episode 164 Apr 9, 2015
165-road-trip-dj-part-10/RoadTripDJ Fix simulator build Apr 18, 2015
166-road-trip-dj-part-11/RoadTripDJ Episode 166 Apr 23, 2015
167-road-trip-dj-part-12/RoadTripDJ Episode 167 Apr 30, 2015
168-road-trip-dj-part-13/RoadTripDJ Episode 168 May 11, 2015
169-road-trip-dj-part-14-final/RoadTripDJ Episode 169 May 14, 2015
170-testing-with-quick/NinjaGame 170 May 21, 2015
171-nsdatecomponents/NSDateComponents.playground episode 171 May 29, 2015
172-magic-move/MagicMove fix constraints for text view Jan 24, 2016
173-interactive-magic-move/MagicMove remove duplicate project Jun 15, 2015
174-local-notifications/LocalNotifications call completionHandler when done handling action Jun 18, 2015
175-nsoperation-basics Fix build errors for 175 sample Oct 4, 2015
176-asynchronous-operations Episode 176 Jul 3, 2015
177-nsoperation-dependencies Fix retain cycle issue, update to Swift 2 Oct 14, 2015
178-getting-started-with-carthage/Ocean Episode 178 Jul 10, 2015
180-advanced-nsoperations/OperationScreencast Make sure we call from the main thread Aug 3, 2015
181-cgimagesource/ImageInfo Removve recursed meta files Aug 6, 2015
182-screensavers-part-1/Motivation Episode 182 Aug 13, 2015
183-screensavers-part-2/Motivation Episode 183 Aug 20, 2015
184-dznemptydataset/Lister Episode 184 Aug 27, 2015
185-self-sizing-cells-and-dynamic-type/Lister episode 185 Sep 3, 2015
186-stack-view/FunWithStackViews 186 Sep 15, 2015
187-swift-2-basics/Swift2Basics.playground Episode 187 Sep 17, 2015
188-app-transport-security/ATSExample Episode 188 Sep 24, 2015
189-swift-2-functions-and-extensions/Swift2FunctionsExtensions.playground Episode 189 Sep 25, 2015
190-custom-url-protocols/CustomProtocols.playground Episode 191 Oct 8, 2015
191-swift-2-optionals/Swift2Optionals.playground Episode 191 Oct 8, 2015
192-handoff/NSScreencastHandoff Episode 192 Oct 8, 2015
193-in-app-search/CompanyRoster Episode 193 Oct 15, 2015
194-modeling-api-endpoints/ApiClients.playground Episode 194 Oct 26, 2015
195-intro-to-apple-tv/HelloAppleTV 195 Nov 5, 2015
196-careplicatorlayer/HelloAppleTV Episode 196 Nov 6, 2015
197-mastering-tv-focus/FocusDemo resetFocus Nov 16, 2015
198-nsstv-part1-project-setup/NSScreencastTVDemo Episode 198 Nov 19, 2015
200-watchkit-app/BeerButton Episode 200 Dec 18, 2015
201-building-a-watchkit-glance/BeerButton Episode 201 Dec 18, 2015
202-building-a-watchkit-complication/BeerButton Episode 202 Jan 4, 2016
203-json-api-client/nsscreencast-tvdemo Episode 203 Jan 7, 2016
204-json-api-client-part-2 Episode 204 Jan 22, 2016
205-tableview-customization/StarcraftGuide Episode 205 Jan 22, 2016
206-more-tableview-customization/StarcraftGuide Episode 206 Jan 28, 2016
207-intro-to-text-kit/TextExample Episode 207 Feb 8, 2016
208-syntax-highlighting-with-textkit/SyntaxHighlighting Episode 208 Feb 12, 2016
209-cool-text-effects/TextEffects remove duplicate Feb 19, 2016
210-cool-text-effects-part-2/TextEffects Episode 210 Feb 25, 2016
211-indenting-text-with-text-kit/Indentation Episode 211 Mar 3, 2016
212-fastlane/SimpleClock Reorder cert/sigh commands Mar 31, 2016
213-icon-badging-with-fastlane/SimpleClock Episode 213 Mar 28, 2016
214-swift-on-linux/swift-oss Episode 214 Mar 28, 2016
215-custom-dragging-with-collectionview Episode 215 Mar 31, 2016
216-swift-web-frameworks Episode 216 Apr 7, 2016
217-text-attachments Episode 217 Apr 14, 2016
218-core-data-with-swift/nsscreencast-tvdemo ignore xcscmblueprint files May 6, 2016
219-nscalendar/WorkingWithDates.playground Episode 219 May 6, 2016
220-easy-auth-part-1 Episode 220 May 12, 2016
221-easy-auth-part-2 Episode 221 May 19, 2016
222-easy-auth-part-3 Episode 222 May 27, 2016
223-lets-build-activity-plus-plus/ActivityPlusTwo Episode 223 Jun 2, 2016
224-lets-build-activity-plus-plus-part-2/ActivityPlusTwo Fix misspelling Jun 20, 2016
225-lets-build-activity-plus-plus-part-3 Episode 225 Jun 23, 2016
226-lets-build-activity-plus-plus-part-4 Episode 226 Jul 1, 2016
227-lets-build-activity-plus-plus-part-5 Episode 227 Jul 7, 2016
228-lets-build-activity-plus-plus-part-6 Fix incorrectly named folders Jul 18, 2016
229-lets-build-activity-plus-plus-part-7 Add startingDate to streak Jul 22, 2016
231-shared-web-credentials/app/SharedWebCredentialsDemo episode 231 Aug 11, 2016
232-calculating-spring-velocity/FacetimeCameraPreview.playground Episode 232 Aug 19, 2016
233-snapkit/SnapKitFun Episode 233 Aug 25, 2016
234-universal-links/UniversalLinksDemo Episode 234 Sep 2, 2016
235-working-with-the-pasteboard/PasteboardFun Episode 235 Sep 9, 2016
237-swift-3 Episode 237 Sep 23, 2016
.gitignore ignore xcscmblueprint files May 6, 2016
.gitmodules Fixed submodules Aug 27, 2012
README.md Update README.md Mar 3, 2016

README.md

NSScreencast Example Code

Here you'll find the sample code used in NSScreencast episodes.

Requirements

The episode sample projects are typically built with the most recent release of Xcode at the time.

Dependencies

Many of the videos include references to 3rd party libraries. Please be aware that these libraries are bound by their own respective licenses.

License

Copyright (c) 2012 Ben Scheirman.

Use of the code provided on this repository is subject to the MIT License.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.