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 classeLes 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érie | Type de données |
|---|---|
| 1 | chaîne NSString |
| 2 | CGFloat, le type de base pour les valeurs à virgule flottante |
| 3 | NSInteger, le type entier |
| 4 | BOOL, 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