Da wir immer Zeiger verwenden, um Variablen zu definieren, habe ich mich gefragt, ob Objective-C "pass by value" ist, da wie bei Java der tatsächliche Wert unter Verwendung seiner Referenz übergeben würde.
Da es jedoch auf C aufgebaut zu sein scheint, hätte es dann die gesamte Funktionalität von C?
C unterstützt pass-by-reference und Objective-C nicht, da es sich um eine strikte Obermenge von C handelt.
In C (und Objective-C) können Sie pass-by-reference durch Übergeben eines Zeigers simulieren, aber es ist wichtig, sich daran zu erinnern, dass Sie technisch immer noch einen Wert übergeben, der zufällig ist a der Wert eines Zeigers.
Also gibt es in Objective-C (und C, in der Sache) kein Referenzkonzept, wie es in anderen Sprachen (wie C ++ oder Java) beabsichtigt ist.
Das kann verwirrend sein, also lass mich versuchen, klarer zu sein (ich werde einfaches C verwenden, aber - wieder - es ändert sich nicht in Objective-C)
%Vor%Auf der anderen Seite könnten wir in C ++
machen %Vor%Tags und Links objective-c pass-by-value pass-by-reference