Upgrade to Pro — share decks privately, control downloads, hide ads and more …

iOS Development

iOS Development

A slide I presented yesterday on Offline Class of Jasakom - one of a biggest hacker community in Indonesia. This slide is quite similar with my previous slide (http://speakerdeck.com/u/andri/p/introduction-to-ios-development) but with more and updated content.

Andri Yadi

April 15, 2012
Tweet

More Decks by Andri Yadi

Other Decks in Programming

Transcript

  1. Andri Yadi President, ID-ObjC | CEO, DyCode @andri_yadi | a

    (at) dycode (dot) com http://andriyadi.me Introduction to iOS Development O ine Class Jasakomer (Special iOS), April 15, 2012
  2. The rst & largest iOS & OSX developer community in

    Indonesia ID-ObjectiveC President
  3. A superset of C: • Syntactical convention for de ning

    classes & method • Syntax for method invocation • Syntax for declaring & synthesizing properties • Static & dynamic typing • Blocks • Extension: protocol & categories Objective-C Advantages: • Dynamic typing: enables to determine the class of an object at runtime • Dynamic binding: allows to determine the method to call at runtime instead of at compile-time • Dynamic loading: allows to add modules of code & other resources at runtime.
  4. Protocols & Categories @interface NowPlayingController : UIViewController<UIScrollViewDelegate, ProfileViewDelegate> { }

    @end Protocol == Interface in other OOP language (Java, C#) @protocol ProfileViewDelegate - (void)profileView:(ProfileView *)profileView doSignInWith: (AuthProviderType)signInType sender:(id)sender; @optional - (void)profileView:(ProfileView *)profileView doSignOut:(id)sender; @end Category, enables to extend a class without subclassing it @interface NSDate (Additions) + (NSDate *)dateFromTimeString:(NSString*)timeString; + (NSDate *)dateWithJSONString:(NSString *)json; - (NSDate *)dateByAddingDays:(NSInteger)numDays; - (NSDate *)dateByAddingHours:(NSInteger)numHours; @end
  5. Enable apps to store user documents and key value data

    Storage Push changes to all user’s computers and devices
  6. Memory management becomes compiler’s job Manually enabled in Xcode It’s

    NOT a garbage collector! Automatic Reference Counting (ARC) No need to deal with retain & release by yourself
  7. Layout the app’s work ow & design user interfaces Can

    be loaded dynamically Storyboard Specify transitions & segues between views
  8. Image processing framework nally comes to iOS Advanced features: red-eye

    reduction, face recognition CoreImage Provides built-in lters: color e ect, distortions, transitions