iOS immersion

175 views

Published on

Une présentation d'une heure sur les points techniques à connaître pour attaquer le développement sur iOS (iPhone, iPad, iPod Touch).

Published in: Technology
  • Be the first to comment

  • Be the first to like this

iOS immersion

  1. 1. iOS ImmersionPascal Battyvendredi 3 mai 13
  2. 2. JeVeux !vendredi 3 mai 13
  3. 3. •Idée de génie•Maquettes révolutionnaires•API de fou•App Mobilevendredi 3 mai 13
  4. 4. Mobile ?vendredi 3 mai 13
  5. 5. Version ?4.x5,7 %5.x24,8 %6.x69,5 %Source : David Smith, 7 novembre 2012vendredi 3 mai 13
  6. 6. Moyen ?vendredi 3 mai 13
  7. 7. vendredi 3 mai 13
  8. 8. Objective-CHistoriquevendredi 3 mai 13
  9. 9. Naissance dObjective-C1980vendredi 3 mai 13
  10. 10. NeXTstep1986vendredi 3 mai 13
  11. 11. MacOS X2001vendredi 3 mai 13
  12. 12. iphone2007vendredi 3 mai 13
  13. 13. iPhone OS SDK2008vendredi 3 mai 13
  14. 14. iOS 3 iOS 4 iOS 5 iOS 6 …2009 2010 2011 2012Xcode 3.2 Xcode 4.0vendredi 3 mai 13
  15. 15. Objective-CTechniquevendredi 3 mai 13
  16. 16. FrameworkRuntimeCompilo LangageObjCvendredi 3 mai 13
  17. 17. vendredi 3 mai 13
  18. 18. structPointeursPrototypesmalloc()int[]char*int main(int argc, char** argv)RéférencesHeadersuinttypedefenumtry-catch#ifdef#defineAllocationDésallocationvendredi 3 mai 13
  19. 19. vendredi 3 mai 13
  20. 20. Pointeursvendredi 3 mai 13
  21. 21. vendredi 3 mai 13
  22. 22. @classHéritageProtocoles@protocolNSStringMéthode d’instanceMéthode de classeNSObjectPropriétés@propertyPolymorphismeRetainReleasenilvendredi 3 mai 13
  23. 23. NSObjectvendredi 3 mai 13
  24. 24. nilvendredi 3 mai 13
  25. 25. Boîte à outils• NSString• NSArray• NSDictionary• NSSetvendredi 3 mai 13
  26. 26. Boîte à outils• NSString• NSArray• NSDictionary• NSSet• NSMutableString• NSMutableArray• NSMutableDictionary• NSMutableSetvendredi 3 mai 13
  27. 27. Syntaxevendredi 3 mai 13
  28. 28. Déclaration#import <Foundation/Foundation.h>@interface Person:NSObject@property NSString *name;- (id)initWithName:(NSString *)name;+ (id)personWithName:(NSString *)name;@endvendredi 3 mai 13
  29. 29. Implémentation#import "Person.h"@implementation Person@synthesize name = _name;- (id)initWithName:(NSString *)name {…}+ (id)personWithName:(NSString *)name {…}@endvendredi 3 mai 13
  30. 30. Envoi de message[teller sayHello];teller.sayHello();[teller sayHelloTo:person];teller.sayHello(person);ObjCJava/C#ObjCJava/C#vendredi 3 mai 13
  31. 31. Envoi de messageObjCJava/C#[teller say:message to:person];teller.say(message, person);vendredi 3 mai 13
  32. 32. Sélecteursay:to:vendredi 3 mai 13
  33. 33. Initialisation, PropriétésPerson *person1 = [[Person alloc] init];Person *person2 = [[Person alloc] initWithName:@"Noé"];Person *person3 = [Person personWithName:@"Jim"];[person1 setName:@"Jen"];person2.name = @"Pam"];NSString *name = [person1 name];NSString *otherName = person2.name;SetterGettervendredi 3 mai 13
  34. 34. Gestion de la mémoirevendredi 3 mai 13
  35. 35. vendredi 3 mai 13
  36. 36. Reference Countingvendredi 3 mai 13
  37. 37. Setter (retain)- (void)setText:(NSString *)textValue {if (textValue != _text) {[textValue retain];[_text release];_text = textValue;}}vendredi 3 mai 13
  38. 38. Ouf…Automatic Reference Countingvendredi 3 mai 13
  39. 39. Anatomie dune Appvendredi 3 mai 13
  40. 40. RévisionsModelViewControllervendredi 3 mai 13
  41. 41. UIKitUIViewUILabelUIControlUIButton Etc…vendredi 3 mai 13
  42. 42. Interface UtilisateurViewController InterfaceOutletsActionsvendredi 3 mai 13
  43. 43. View≠ViewControllervendredi 3 mai 13
  44. 44. DelegationUITextField@protocol UITextFieldDelegate• textFieldShouldBeginEditing:• textFieldDidBeginEditing:• textFieldShouldEndEditing:• textFieldDidEndEditing:• textField:shouldChangeCharactersInRange:replacementString:• textFieldShouldClear:• textFieldShouldReturn:vendredi 3 mai 13
  45. 45. DelegationdelegateUITextFieldvendredi 3 mai 13
  46. 46. DelegationdelegateL’utilisateur aappuyé sur Retour !UITextField[delegate textFieldShouldReturn:self]vendredi 3 mai 13
  47. 47. DelegationdelegateL’utilisateur aappuyé sur Retour !UITextFieldOk, je lance unerecherche[delegate textFieldShouldReturn:self]vendredi 3 mai 13
  48. 48. Là où tout commenceAppDelegatevendredi 3 mai 13
  49. 49. Pour commencerhttp://developer.apple.com/iosvendredi 3 mai 13
  50. 50. Mercivendredi 3 mai 13

×