iOS - Objectif C

Le langage utilisé dans le développement iOS est l'objectif C. Il s'agit d'un langage orienté objet et, par conséquent, ce serait facile pour ceux qui ont une certaine expérience dans les langages de programmation orientés objet.

Interface et mise en œuvre

En Objective C, le fichier où se fait la déclaration de classe s'appelle le interface file et le fichier où la classe est définie est appelé le implementation file.

Un simple fichier d'interface MyClass.h ressemblerait à ce qui suit -

@interface MyClass:NSObject { 
   // class variable declared here
}

// class properties declared here
// class methods and instance methods declared here
@end

Le dossier d'implémentation MyClass.m serait comme suit -

@implementation MyClass
   // class methods defined here
@end

Création d'objets

La création d'objet se fait comme suit -

MyClass  *objectName = [[MyClass alloc]init] ;

Méthodes

La méthode est déclarée en Objectif C comme suit -

-(returnType)methodName:(typeName) variable1 :(typeName)variable2;

Un exemple est présenté ci-dessous.

-(void)calculateAreaForRectangleWithLength:(CGfloat)length 
andBreadth:(CGfloat)breadth;

Vous vous demandez peut-être ce que andBreadthla chaîne est pour; en fait, c'est une chaîne facultative, qui nous aide à lire et à comprendre facilement la méthode, en particulier au moment de l'appel. Pour appeler cette méthode dans la même classe, nous utilisons l'instruction suivante -

[self calculateAreaForRectangleWithLength:30 andBreadth:20];

Comme indiqué ci-dessus, l'utilisation de andBreadth nous aide à comprendre que la largeur est de 20. Self est utilisé pour spécifier qu'il s'agit d'une méthode de classe.

Méthodes de classe

Les méthodes de classe sont accessibles directement sans créer d'objets pour la classe. Ils ne sont associés à aucune variable ni objet. Un exemple est présenté ci-dessous.

+(void)simpleClassMethod;

Il est accessible en utilisant le nom de la classe (supposons que le nom de la classe est MyClass) comme suit -

[MyClass simpleClassMethod];

Méthodes d'instance

Les méthodes d'instance ne sont accessibles qu'après avoir créé un objet pour la classe. La mémoire est allouée aux variables d'instance. Un exemple de méthode d'instance est illustré ci-dessous.

-(void)simpleInstanceMethod;

Il est accessible après avoir créé un objet pour la classe comme suit -

MyClass  *objectName = [[MyClass alloc]init] ;
[objectName simpleInstanceMethod];

Types de données importants dans l'objectif C

N ° Sr. Type de données
1

NSString

Il est utilisé pour représenter une chaîne.

2

CGfloat

Il est utilisé pour représenter une valeur en virgule flottante (le flottant normal est également autorisé mais il est préférable d'utiliser CGfloat).

3

NSInteger

Il est utilisé pour représenter un entier.

4

BOOL

Il est utilisé pour représenter booléen (les types BOOL sont OUI ou NON autorisés).

Impression des journaux

NSLog - utilisé pour imprimer une instruction. Il sera imprimé dans les journaux de l'appareil et la console de débogage respectivement dans les modes de version et de débogage. Par exemple,

NSlog(@"");

Structures de contrôle

La plupart des structures de contrôle sont les mêmes qu'en C et C ++, à l'exception de quelques ajouts comme pour in statement.

Propriétés

Pour qu'une classe externe accède à la classe, des propriétés variables sont utilisées. Par exemple,

@property(nonatomic , strong) NSString *myString;

Accéder aux propriétés

Vous pouvez utiliser l'opérateur point pour accéder aux propriétés. Pour accéder à la propriété ci-dessus, nous ferons ce qui suit.

self.myString = @"Test";

Vous pouvez également utiliser la méthode set comme suit -

[self setMyString:@"Test"];

Catégories

Les catégories sont utilisées pour ajouter des méthodes aux classes existantes. De cette manière, nous pouvons ajouter des méthodes aux classes pour lesquelles nous n'avons même pas de fichiers d'implémentation où la classe réelle est définie. Un exemple de catégorie pour notre classe est la suivante -

@interface MyClass(customAdditions)
- (void)sampleCategoryMethod;
@end

@implementation MyClass(categoryAdditions)

-(void)sampleCategoryMethod {
   NSLog(@"Just a test category");
}

Tableaux

NSMutableArray et NSArray sont les classes de tableaux utilisées dans l'objectif C. Comme son nom l'indique, la première est mutable et la seconde est immuable. Un exemple est présenté ci-dessous.

NSMutableArray *aMutableArray = [[NSMutableArray alloc]init];
[anArray addObject:@"firstobject"];
NSArray *aImmutableArray = [[NSArray alloc]
initWithObjects:@"firstObject",nil];

dictionnaire

NSMutableDictionary et NSDictionary sont les classes de dictionnaire utilisées dans l'objectif C. Comme son nom l'indique, la première est mutable et la seconde est immuable. Un exemple est présenté ci-dessous.

NSMutableDictionary *aMutableDictionary = [[NSMutableArray alloc]init];
[aMutableDictionary setObject:@"firstobject" forKey:@"aKey"];
NSDictionary*aImmutableDictionary= [[NSDictionary alloc]initWithObjects:[NSArray arrayWithObjects:
@"firstObject",nil] forKeys:[ NSArray arrayWithObjects:@"aKey"]];