Objective-C Introduction

Le langage Objective-C est utilisé dans le développement iOS. C'est un langage orienté objet, il est donc très simple pour les programmeurs qui maîtrisent déjà les connaissances en langage orienté objet.


Interface et implémentation

En Objective-C, les fichiers complétés sont appelés fichiers d'interface, et les définitions de ces fichiers sont appelées fichiers d'implémentation.

Un simple fichier d'interface MyClass.h est présenté dans la figure ci-dessous :

@interface MyClass:NSObject{ 
// 类变量声明
}
// 类属性声明
// 类方法和声明
@end

Exécutez le fichier MyClass.m, comme indiqué ci-dessous :

@implementation MyClass
// 类方法定义
@end

Création d'objets

Terminez la création de l'objet, comme indiqué ci-dessous :

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

Méthodes

Les méthodes déclarées en Objective-C sont présentées ci-dessous :

-(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 qu'est la chaîne andBreadth. En fait, sa chaîne facultative peut nous aider à lire et comprendre les méthodes, en particulier lorsque la méthode est appelée.

Pour appeler cette méthode dans la même classe, nous utilisons l'instruction suivante.

[self calculateAreaForRectangleWithLength:30 andBreadth:20];

Comme mentionné ci-dessus, l'utilisation de andBreath nous aide à comprendre que breath vaut 20. Self est utilisé pour préciser qu'il s'agit d'une méthode de la classe.

Méthodes de classe

Les méthodes de classe sont accessibles directement sans créer d'objet. Elles n'ont aucune variable associée à l'objet. Voici des exemples :

+(void)simpleClassMethod;

Il est possible d'y accéder en utilisant le nom de la classe (en supposant MyClass comme nom de classe), comme indiqué ci-dessous :

[MyClass simpleClassMethod];
Méthodes d'instance

Les méthodes d'instance ne sont accessibles qu'après avoir créé un objet de la classe, avec de la mémoire allouée aux variables d'instance. Les méthodes d'instance sont présentées ci-dessous :

-(void)simpleInstanceMethod; 

Après avoir créé un objet de la classe, il peut y accéder. Comme indiqué ci-dessous :

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

Types de données importants en Objective C

Numéro de sérieType de données
1chaîne NSString
2CGFloat, le type de base pour les valeurs à virgule flottante
3NSInteger, le type entier
4BOOL, le type booléen

Impression des journaux

NSLog est utilisé pour imprimer une instruction, qui sera imprimée dans le journal de l’appareil et sur la console de la version de débogage et en mode débogage, respectivement.

Par exemple, NSLog(@"");


Structures de contrôle

À l’exception de quelques clauses ajoutées, la plupart des structures de contrôle sont les mêmes que celles du C et du C++.

Propriétés

Utilisé pour accéder aux propriétés de variable d’une classe depuis l’extérieur de la classe.

Par exemple : @property (nonatomic, strong) NSString *myString;

Accès aux propriétés

Les propriétés sont accessibles à l'aide de l'opérateur point. Pour accéder à la propriété ci-dessus, vous pouvez procéder comme suit :

self.myString = @"Test";

Vous pouvez également utiliser la méthode set, comme indiqué ci-dessous :

[self setMyString:@"Test"];

Catégories

Les catégories sont utilisées pour ajouter des méthodes à des classes existantes. De cette façon, des méthodes peuvent être ajoutées à une classe même sans fichier d'implémentation dans lequel la classe réelle est définie. Un exemple de catégorie de MyClass est présenté ci-dessous :

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

@implementation MyClass(categoryAdditions)

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

Tableaux

NSMutableArray et NSArray sont les classes de tableau utilisées en Objective-C. La première est un tableau mutable, et la seconde est un tableau immuable. Comme suit :

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

Dictionnaires

NSMutableDictionary et NSDictionary sont les classes de dictionnaire utilisées en Objective-C. La première est un dictionnaire mutable, et la seconde est un dictionnaire immuable, comme indiqué 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"]];
Autres extensions