Objective-C Einführung
Die Sprache Objective-C wird in der iOS-Entwicklung verwendet. Sie ist eine objektorientierte Sprache, daher ist sie für Programmierer, die bereits über Kenntnisse in objektorientierten Sprachen verfügen, sehr einfach.
Schnittstelle und Implementierung
In Objective-C werden die fertiggestellten Dateien als Schnittstellendateien bezeichnet, und die Definitionen solcher Dateien werden als Implementierungsdateien bezeichnet.
Eine einfache Schnittstellendatei MyClass.h ist in der folgenden Abbildung dargestellt:
@interface MyClass:NSObject{
// 类变量声明
}
// 类属性声明
// 类方法和声明
@end
Führen Sie die Datei MyClass.m aus, wie unten gezeigt:
@implementation MyClass // 类方法定义 @end
Objekte erstellen
Schließen Sie die Erstellung des Objekts ab, wie unten dargestellt:
MyClass *objectName = [[MyClass alloc]init] ;
Methoden
Die in Objective-C deklarierten Methoden sind unten aufgeführt:
-(returnType)methodName:(typeName) variable1 :(typeName)variable2;
Ein Beispiel ist unten dargestellt:
-(void)calculateAreaForRectangleWithLength:(CGfloat)length andBreadth:(CGfloat)breadth;
Du fragst dich vielleicht, was der andBreadth-String ist. Tatsächlich kann sein optionaler String uns helfen, Methoden zu lesen und zu verstehen, insbesondere wenn die Methode aufgerufen wird.
Um diese Methode in derselben Klasse aufzurufen, verwenden wir die folgende Anweisung.
[self calculateAreaForRectangleWithLength:30 andBreadth:20];
Wie oben erwähnt, hilft uns die Verwendung von andBreath zu verstehen, dass breath 20 ist. Self wird verwendet, um anzugeben, dass es sich um eine Methode der Klasse handelt.
KlassenmethodenAuf Klassenmethoden kann direkt zugegriffen werden, ohne ein Objekt zu erstellen. Sie haben keine Variablen, die dem Objekt zugeordnet sind. Beispiele sind wie folgt:
+(void)simpleClassMethod;
Darauf kann über den Klassennamen zugegriffen werden (vorausgesetzt, MyClass ist der Klassenname), wie unten gezeigt:
[MyClass simpleClassMethod];Instanzmethoden
Auf Instanzmethoden kann erst zugegriffen werden, nachdem ein Objekt der Klasse erstellt wurde, wobei Speicher für die Instanzvariablen zugewiesen ist. Instanzmethoden sind unten gezeigt:
-(void)simpleInstanceMethod;
Nachdem ein Objekt der Klasse erstellt wurde, kann es darauf zugreifen. Wie unten gezeigt:
MyClass *objectName = [[MyClass alloc]init] ; [objectName simpleInstanceMethod];
Wichtige Datentypen in Objective C
| Laufende Nummer | Datentyp |
|---|---|
| 1 | NSString-String |
| 2 | CGFloat, der Basistyp für Gleitkommawerte |
| 3 | NSInteger, der Ganzzahltyp |
| 4 | BOOL, der boolesche Typ |
Logs ausgeben
NSLog wird verwendet, um eine Anweisung auszugeben, die im Geräteprotokoll bzw. auf der Konsole der Debug-Version und im Debug-Modus ausgegeben wird.
Zum Beispiel: NSLog(@"");
Kontrollstrukturen
Abgesehen von einigen zusätzlichen Klauseln sind die meisten Kontrollstrukturen dieselben wie die in C und C++.
Eigenschaften
Dient dazu, von außerhalb der Klasse auf die Variableneigenschaften einer Klasse zuzugreifen.
Zum Beispiel: @property (nonatomic, strong) NSString *myString;
Zugriff auf Eigenschaften
Auf Eigenschaften kann mit dem Punktoperator zugegriffen werden. Um auf die obige Eigenschaft zuzugreifen, können Sie Folgendes tun:
self.myString = @"Test";
Sie können auch die set-Methode verwenden, wie unten gezeigt:
[self setMyString:@"Test"];
Kategorien
Kategorien werden verwendet, um Methoden zu vorhandenen Klassen hinzuzufügen. Auf diese Weise können Methoden zu einer Klasse hinzugefügt werden, selbst ohne eine Implementierungsdatei, in der die eigentliche Klasse definiert ist. Eine Beispielkategorie von MyClass ist unten gezeigt:
@interface MyClass(customAdditions)
- (void)sampleCategoryMethod;
@end
@implementation MyClass(categoryAdditions)
-(void)sampleCategoryMethod{
NSLog(@"Just a test category");
}
Arrays
NSMutableArray und NSArray sind die in Objective-C verwendeten Array-Klassen. Erstere ist ein veränderbares Array, letztere ein unveränderliches Array. Wie folgt:
NSMutableArray *aMutableArray = [[NSMutableArray alloc]init]; [anArray addObject:@"firstobject"]; NSArray *aImmutableArray = [[NSArray alloc] initWithObjects:@"firstObject",nil];
Wörterbücher
NSMutableDictionary und NSDictionary sind die in Objective-C verwendeten Dictionary-Klassen. Erstere ist ein veränderbares Dictionary, letztere ein unveränderliches Dictionary, wie unten gezeigt:
NSMutableDictionary*aMutableDictionary = [[NSMutableArray alloc]init]; [aMutableDictionary setObject:@"firstobject" forKey:@"aKey"]; NSDictionary*aImmutableDictionary= [[NSDictionary alloc]initWithObjects:[NSArray arrayWithObjects: @"firstObject",nil] forKeys:[ NSArray arrayWithObjects:@"aKey"]];Andere Erweiterungen