Ziel-C-Funktionen
Eine Funktion ist eine Gruppe von Anweisungen, die zusammen eine Aufgabe ausführen. Jedes Objective-C-Programm hat eine C-Funktionmain()und alle trivialsten Programme können zusätzliche Funktionen definieren.
Sie können Ihren Code in separate Funktionen aufteilen. Wie Sie Ihren Code auf verschiedene Funktionen aufteilen, liegt bei Ihnen. Logischerweise erfolgt die Aufteilung jedoch normalerweise so, dass jede Funktion eine bestimmte Aufgabe ausführt.
Eine Funktion declarationinformiert den Compiler über den Namen, den Rückgabetyp und die Parameter einer Funktion. Eine Funktiondefinition liefert den eigentlichen Körper der Funktion.
Grundsätzlich nennen wir in Objective-C die Funktion als Methode.
Das Objective-C Foundation Framework bietet zahlreiche integrierte Methoden, die Ihr Programm aufrufen kann. Zum Beispiel MethodeappendString() Zeichenfolge an eine andere Zeichenfolge anhängen.
Eine Methode ist mit verschiedenen Namen wie einer Funktion oder einer Unterroutine oder einer Prozedur usw. bekannt.
Eine Methode definieren
Die allgemeine Form einer Methodendefinition in der Programmiersprache Objective-C lautet wie folgt:
- (return_type) method_name:( argumentType1 )argumentName1
joiningArgument2:( argumentType2 )argumentName2 ...
joiningArgumentn:( argumentTypen )argumentNamen {
body of the function
}
Eine Methodendefinition in der Programmiersprache Objective-C besteht aus einem Methodenkopf und einem Methodenkörper . Hier sind alle Teile einer Methode -
Return Type- Eine Methode kann einen Wert zurückgeben. Dasreturn_typeist der Datentyp des Werts, den die Funktion zurückgibt. Einige Methoden führen die gewünschten Operationen aus, ohne einen Wert zurückzugeben. In diesem Fall ist der return_type das Schlüsselwortvoid.
Method Name- Dies ist der tatsächliche Name der Methode. Der Methodenname und die Parameterliste bilden zusammen die Methodensignatur.
Arguments- Ein Argument ist wie ein Platzhalter. Wenn eine Funktion aufgerufen wird, übergeben Sie dem Argument einen Wert. Dieser Wert wird als tatsächlicher Parameter oder Argument bezeichnet. Die Parameterliste bezieht sich auf den Typ, die Reihenfolge und die Anzahl der Argumente einer Methode. Argumente sind optional; Das heißt, eine Methode darf kein Argument enthalten.
Joining Argument - Ein verbindendes Argument besteht darin, das Lesen zu erleichtern und es beim Aufrufen klar zu machen.
Method Body - Der Methodenkörper enthält eine Sammlung von Anweisungen, die definieren, was die Methode tut.
Beispiel
Es folgt der Quellcode für eine aufgerufene Methode max(). Diese Methode verwendet zwei Parameter num1 und num2 und gibt das Maximum zwischen den beiden zurück -
/* function returning the max between two numbers */
- (int) max:(int) num1 secondNumber:(int) num2 {
/* local variable declaration */
int result;
if (num1 > num2) {
result = num1;
} else {
result = num2;
}
return result;
}
Methodenerklärungen
Eine Methode declarationinformiert den Compiler über einen Funktionsnamen und den Aufruf der Methode. Der eigentliche Funktionskörper kann separat definiert werden.
Eine Methodendeklaration besteht aus folgenden Teilen:
- (return_type) function_name:( argumentType1 )argumentName1
joiningArgument2:( argumentType2 )argumentName2 ...
joiningArgumentn:( argumentTypen )argumentNamen;
Für die oben definierte Funktion max () folgt die Methodendeklaration -
-(int) max:(int)num1 andNum2:(int)num2;
Eine Methodendeklaration ist erforderlich, wenn Sie eine Methode in einer Quelldatei definieren und diese Methode in einer anderen Datei aufrufen. In diesem Fall sollten Sie die Funktion oben in der Datei deklarieren, die die Funktion aufruft.
Eine Methode aufrufen
Beim Erstellen einer Objective-C-Methode definieren Sie, was die Funktion zu tun hat. Um eine Methode zu verwenden, müssen Sie diese Funktion aufrufen, um die definierte Aufgabe auszuführen.
Wenn ein Programm eine Funktion aufruft, wird die Programmsteuerung an die aufgerufene Methode übertragen. Eine aufgerufene Methode führt eine definierte Aufgabe aus, und wenn ihre return-Anweisung ausgeführt wird oder wenn ihre schließende Klammer zum Ende der Funktion erreicht ist, gibt sie die Programmsteuerung an das Hauptprogramm zurück.
Um eine Methode aufzurufen, müssen Sie lediglich die erforderlichen Parameter zusammen mit dem Methodennamen übergeben. Wenn die Methode einen Wert zurückgibt, können Sie den zurückgegebenen Wert speichern. Zum Beispiel -
#import <Foundation/Foundation.h>
@interface SampleClass:NSObject
/* method declaration */
- (int)max:(int)num1 andNum2:(int)num2;
@end
@implementation SampleClass
/* method returning the max between two numbers */
- (int)max:(int)num1 andNum2:(int)num2 {
/* local variable declaration */
int result;
if (num1 > num2) {
result = num1;
} else {
result = num2;
}
return result;
}
@end
int main () {
/* local variable definition */
int a = 100;
int b = 200;
int ret;
SampleClass *sampleClass = [[SampleClass alloc]init];
/* calling a method to get max value */
ret = [sampleClass max:a andNum2:b];
NSLog(@"Max value is : %d\n", ret );
return 0;
}
Ich habe die Funktion max () zusammen mit der Funktion main () beibehalten und den Quellcode eingehalten. Beim Ausführen der endgültigen ausführbaren Datei wird das folgende Ergebnis erzielt:
2013-09-07 22:28:45.912 demo[26080] Max value is : 200
Funktionsargumente
Wenn eine Funktion Argumente verwenden soll, muss sie Variablen deklarieren, die die Werte der Argumente akzeptieren. Diese Variablen werden als bezeichnetformal parameters der Funktion.
Die formalen Parameter verhalten sich wie andere lokale Variablen innerhalb der Funktion und werden beim Eintritt in die Funktion erstellt und beim Beenden zerstört.
Beim Aufrufen einer Funktion gibt es zwei Möglichkeiten, wie Argumente an eine Funktion übergeben werden können:
Sr.Nr. | Anruftyp & Beschreibung |
---|---|
1 | Call by value Diese Methode kopiert den tatsächlichen Wert eines Arguments in den formalen Parameter der Funktion. In diesem Fall haben Änderungen am Parameter innerhalb der Funktion keine Auswirkung auf das Argument. |
2 | Rufen Sie als Referenz an Diese Methode kopiert die Adresse eines Arguments in den formalen Parameter. Innerhalb der Funktion wird die Adresse verwendet, um auf das tatsächliche Argument zuzugreifen, das im Aufruf verwendet wird. Dies bedeutet, dass Änderungen am Parameter das Argument beeinflussen. |
Standardmäßig verwendet Objective-C call by valueArgumente übergeben. Im Allgemeinen bedeutet dies, dass Code innerhalb einer Funktion die zum Aufrufen der Funktion verwendeten Argumente nicht ändern kann. Das oben erwähnte Beispiel beim Aufrufen der Funktion max () verwendete dieselbe Methode.