Skip to content
Browse files

[#37] Add new validations to iOS trail

* Add autorelase for memory management.
* Add mutable and immutable classes.
* Add custom UITableView and UITableViewCell.
* Add camera and photo library access.
* Remove ASI connection reference since the framework is deprecated.
* Add Grand Central Dispatch for concurrent tasks.
* Add closures instead of blocks for new code.
* Add UIStoryboard for flow definition.
* Added CocoaPods for dependency management.
* Add universal apps.
* Add iPad specific views.
  • Loading branch information...
1 parent 1136aab commit 7ef9cb181bd50a5320ef2b074c79be9a3526cb3e @mauricio mauricio committed with croaky Jun 7, 2012
Showing with 14 additions and 3 deletions.
  1. +14 −3 trails/ios.md
View
17 trails/ios.md
@@ -18,13 +18,17 @@ Validation
You know everyday Objective-C and iOS development when you can:
* Use Xcode (and the built-in Interface Builder) to compile an iOS app.
-* Describe and use ARC and MRC for memory mangement, as well as the rules of the retain/release cycle.
+* Describe and use ARC and MRC for memory mangement, as well as the rules of the retain/release/autorelease cycle.
* Use the basic data types (NSInteger, NSString), collection objects (NSArray, NSDictionary), and know when to use them instead of C primitives (int, char, etc).
+* Understand the difference between using tne mutable (NSMutableArray, NSMutableDictionary, NSMutableString) and immutable objects in Objective-C, their advantaces and disavantages.
* Use the basic display and navigation elements (UIWindow, UIView, UINavigationBar, UIToolbar, etc).
+* Implement a solution using an UITableView, with navigation and a custom UITableViewCell.
* Implement the various iOS controls (UISwitch, UILabel, UISegmentedControl, etc).
+* Understand and implement the usage of iPad specific UI controls, UIPopoverController and UISplitView.
* Design and use basic design patterns like MVC, delegates, callbacks, and notifications.
* Use CoreLocation to get location coordinates.
-* Implement network communications using AFNetworking, ASI, or NSUrlConnection.
+* Access the cameras to take pictures or access pictures from the device's photo gallery.
+* Implement network communications using AFNetworking or NSUrlConnection.
* Implement UX and design best practices as prescribed by Apple.
* Meet App Store submission requirements and submit an app.
@@ -36,12 +40,19 @@ You know advanced Objective-C & iOS Development when you can:
* Singletons.
* Delegates.
* Proxies.
+ * Closures.
* Implement animations using CoreAnimation and optimize drawing using CoreGraphics.
-* Implement a multi-tasking environment free of race conditions (using appropriate locking techniques such as mutexes and semaphores, message passing, etc).
+* Implement a multi-tasking environment free of race conditions (using appropriate locking techniques such as mutexes and semaphores, message passing, etc)
+* Implement task driven concurrency using the [Grand Central Dispatch (GCD)](http://developer.apple.com/library/ios/#documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.html) framework.
+* Design and use APIs that prefer the use of closures instead of selectors and delegates.
+* Create and use UIStoryboards to define and organize the application flow and transitions between screens.
* Debug memory leaks using NSZombieEnabled, Instruments, and other tools.
+* Use [CocoaPods](https://github.com/CocoaPods/CocoaPods) to define your project's dependencies.
+* Create an universal app that contains code for both the iPhone/iPod and iPad devices.
Ongoing reference
-----------------
* Maintain an active ADC account and refer to [the official documentation](https://developer.apple.com).
* Keep up-to-date on iOS news.
+* Sign up for the [cocoa-dev](https://lists.apple.com/mailman/listinfo/cocoa-dev) discussion list.

0 comments on commit 7ef9cb1

Please sign in to comment.
Something went wrong with that request. Please try again.