iOS - Ziel C.
Die in der iOS-Entwicklung verwendete Sprache ist Ziel C. Sie ist eine objektorientierte Sprache und daher für diejenigen, die über Kenntnisse in objektorientierten Programmiersprachen verfügen, einfach.
Schnittstelle und Implementierung
In Ziel C heißt die Datei, in der die Deklaration der Klasse erfolgt, die interface file und die Datei, in der die Klasse definiert ist, heißt die implementation file.
Eine einfache Schnittstellendatei MyClass.h würde wie folgt aussehen -
@interface MyClass:NSObject {
// class variable declared here
}
// class properties declared here
// class methods and instance methods declared here
@end
Die Implementierungsdatei MyClass.m wäre wie folgt -
@implementation MyClass
// class methods defined here
@end
Objekterstellung
Die Objekterstellung erfolgt wie folgt:
MyClass *objectName = [[MyClass alloc]init] ;
Methoden
Die Methode wird in Ziel C wie folgt deklariert:
-(returnType)methodName:(typeName) variable1 :(typeName)variable2;
Ein Beispiel ist unten gezeigt.
-(void)calculateAreaForRectangleWithLength:(CGfloat)length
andBreadth:(CGfloat)breadth;
Sie fragen sich vielleicht, was die andBreadthZeichenfolge ist für; Tatsächlich ist es eine optionale Zeichenfolge, die uns hilft, die Methode leicht zu lesen und zu verstehen, insbesondere zum Zeitpunkt des Aufrufs. 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 andBreadth zu verstehen, dass die Breite 20 beträgt. Self wird verwendet, um anzugeben, dass es sich um eine Klassenmethode handelt.
Klassenmethoden
Auf Klassenmethoden kann direkt zugegriffen werden, ohne Objekte für die Klasse zu erstellen. Ihnen sind keine Variablen und Objekte zugeordnet. Ein Beispiel ist unten gezeigt.
+(void)simpleClassMethod;
Der Zugriff erfolgt über den Klassennamen (nehmen wir den Klassennamen als MyClass an) wie folgt:
[MyClass simpleClassMethod];
Instanzmethoden
Auf Instanzmethoden kann erst zugegriffen werden, nachdem ein Objekt für die Klasse erstellt wurde. Den Instanzvariablen wird Speicher zugewiesen. Eine beispielhafte Instanzmethode ist unten dargestellt.
-(void)simpleInstanceMethod;
Nach dem Erstellen eines Objekts für die Klasse kann wie folgt darauf zugegriffen werden:
MyClass *objectName = [[MyClass alloc]init] ;
[objectName simpleInstanceMethod];
Wichtige Datentypen in Ziel C.
Sr.Nr. | Datentyp |
---|---|
1 | NSString Es wird zur Darstellung einer Zeichenfolge verwendet. |
2 | CGfloat Es wird zur Darstellung eines Gleitkommawertes verwendet (normales Gleitkommawert ist ebenfalls zulässig, es ist jedoch besser, CGfloat zu verwenden). |
3 | NSInteger Es wird zur Darstellung von Ganzzahlen verwendet. |
4 | BOOL Es wird zur Darstellung von Booleschen Werten verwendet (JA oder NEIN sind zulässige BOOL-Typen). |
Protokolle drucken
NSLog - wird zum Drucken einer Anweisung verwendet. Es wird in den Geräteprotokollen und in der Debug-Konsole im Release- bzw. Debug-Modus gedruckt. Zum Beispiel,
NSlog(@"");
Kontrollstrukturen
Die meisten Kontrollstrukturen sind dieselben wie in C und C ++, mit Ausnahme einiger Ergänzungen wie in Anweisung.
Eigenschaften
Damit eine externe Klasse auf die Klasse zugreifen kann, werden variable Eigenschaften verwendet. Zum Beispiel,
@property(nonatomic , strong) NSString *myString;
Zugriff auf Eigenschaften
Sie können den Punktoperator verwenden, um auf Eigenschaften zuzugreifen. Um auf die oben genannte Eigenschaft zuzugreifen, gehen wir wie folgt vor.
self.myString = @"Test";
Sie können die Set-Methode auch wie folgt verwenden:
[self setMyString:@"Test"];
Kategorien
Kategorien werden verwendet, um Methoden zu den vorhandenen Klassen hinzuzufügen. Auf diese Weise können wir Klassen Methoden hinzufügen, für die wir nicht einmal Implementierungsdateien haben, in denen die eigentliche Klasse definiert ist. Eine Beispielkategorie für unsere Klasse lautet wie folgt:
@interface MyClass(customAdditions)
- (void)sampleCategoryMethod;
@end
@implementation MyClass(categoryAdditions)
-(void)sampleCategoryMethod {
NSLog(@"Just a test category");
}
Arrays
NSMutableArray und NSArray sind die in Ziel C verwendeten Array-Klassen. Wie der Name schon sagt, ist die erstere veränderlich und die letztere unveränderlich. Ein Beispiel ist unten gezeigt.
NSMutableArray *aMutableArray = [[NSMutableArray alloc]init];
[anArray addObject:@"firstobject"];
NSArray *aImmutableArray = [[NSArray alloc]
initWithObjects:@"firstObject",nil];
Wörterbuch
NSMutableDictionary und NSDictionary sind die in Ziel C verwendeten Wörterbuchklassen. Wie der Name schon sagt, ist die erstere veränderlich und die letztere unveränderlich. Ein Beispiel ist 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"]];