Ich habe eine Klassenebene int in meiner Header-Datei definiert. In der .m-Datei habe ich eine Methode, die ich einen int-Parameter nehmen möchte, ändern Sie es und den geänderten Wert auf den Aufrufer widerspiegeln. Zum Beispiel:
%Vor%In einer Methode:
%Vor%Ich habe versucht, ein
zu verwendenDer Wert, der in der Methode für classLevelInt angegeben ist, wird jedoch nie außerhalb dieser Methode angezeigt. Wie kann ich den Wert von classLevelInt außerhalb der Methode beibehalten, ohne den neuen int-Wert von -someMethod zurückzugeben? Oder, wenn das einfach kein guter Ansatz ist, was ist ein besserer Weg?
iamamac ist korrekt, aber Sie haben auch gefragt, ob es einen besseren Weg gibt.
Wenn möglich, einfach den Wert direkt zurückgeben. Pass-by-Reference verursacht in der Regel ein bisschen "Code-Geruch" der unangenehmen Art.
Wenn Sie mehrere Ints zurückgeben müssen, sollten Sie möglicherweise eine Struktur oder eine Klasse zum Einkapseln der Daten erstellen.
Tags und Links objective-c iphone memory-management