• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
An Introduction to
 

An Introduction to

on

  • 801 views

 

Statistics

Views

Total Views
801
Views on SlideShare
767
Embed Views
34

Actions

Likes
1
Downloads
3
Comments
0

1 Embed 34

http://melbournepatterns.org 34

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    An Introduction to An Introduction to Presentation Transcript

    • An Introduction iPhone Programming Stewart Gleadow, Thoughtworks Thursday, 5 August 2010
    • Barriers to Entry • Objective C • I can’t see my code for all the square brackets • Development Tools • I survived XCode and lived to tell the tale • Real Software? • Only people that don’t know how to program write iPhone Apps? Thursday, 5 August 2010
    • Learning the Hard Way • Memory Model • Get your memory management right the first time • Frameworks • Don’t fight the framework • View Lifecycles Thursday, 5 August 2010
    • User Interfaces • Interface Builder • Hand-rolled Controllers • NavigationController, TabController • UIViewController subclasses • UIView subclasses Thursday, 5 August 2010
    • Testing • Unit Testing • OCUnit, GTM Test, GHUnit • OCMock • Not on the iPhone? • Functional Testing • Instruments & UIAutomation • Manual Testing Thursday, 5 August 2010
    • iPhone Concerns • Persistence • Performance • Multiple Resolutions • Network Dropouts Thursday, 5 August 2010
    • Header @class ExtraClass; @interface SomeClass : NSObject { ExtraClass *extraClass_; } + (NSString *)classLevelMethod; - (id)initWithExtraClass:(ExtraClass *)extraClass; @property (nonatomic, retain) ExtraClass *extraClass; @end Thursday, 5 August 2010
    • Implementation #import “SomeClass.h” #import “ExtraClass.h” @interface SomeClass () @end @implementation SomeClass - (id)initWithExtraClass:(ExtraClass *)extraClass; { if (self = [super init]) { [self setExtraClass:extraClass]; } return self; } -(void)dealloc; { [extraClass_ release]; } @synthesize extraClass = extraClass_; @end Thursday, 5 August 2010
    • Using your Class ExtraClass *extraClass = [ExtraClass defaultExtraClass]; SomeClass *someClass = [[SomeClass alloc] initWithExtraClass:extraClass]; // do some stuff with your class ExtraClass *fromAccessor = [someClass extraClass]; [someClass release]; someClass = nil; Thursday, 5 August 2010
    • Looking Forward • Barriers to entry are more like hurdles • Objective C is not as bad as I thought • XCode 4 to save the day? • Don’t give up on testing Thursday, 5 August 2010
    • Demo Thursday, 5 August 2010