Wie definiere ich einen Standard-Argumentwert für eine Methode in ios? [Duplikat]

7

Ich konnte keine Möglichkeit finden, ein Standardargument für eine Funktion in ios zu definieren, wie Sie es normalerweise in C ++ tun würden. Ist es in iOS möglich? Wenn nicht, gibt es eine empfohlene Arbeit?

    
tiguero 05.03.2012, 22:35
quelle

2 Antworten

28

Dies ist in Objective-C nicht möglich. Eine Möglichkeit besteht darin, so etwas zu tun, um die gleiche Funktionalität zu erhalten:

%Vor%

Wenn Sie nach der Möglichkeit suchen, ein Argument vollständig wegzulassen, besteht die typische Vorgehensweise in Objective-C darin, mehrere Methoden mit immer spezifischeren Argumentsätzen zu verwenden:

%Vor%

Wenn Sie nur mit den Standardargumenten arbeiten wollen, können Sie einfach -doSomething aufrufen. Wenn Sie OptionA festlegen möchten, aber Option B nicht interessieren, können Sie -doSomethingWithOptionA: etc.

aufrufen

Schließlich ist es erwähnenswert, dass Sie C ++ verwenden können, um für iOS zu schreiben, und Sie können auch Objective-C und C ++ mit Objective-C ++ mischen. Denken Sie immer daran, wie Sie Dinge in der von Ihnen genutzten Umgebung am besten erledigen können. Versuchen Sie nicht, C ++ - Idiome und -Muster auf Objective-C und Cocoa zu erzwingen. Sie sind anders und sie sollen so sein. Es ist oft sehr einfach, einen C ++ - Programmierer zu erkennen, der C ++ - Konventionen beim Übergang zum Schreiben von Objective-C-Code nicht aufgegeben hat, und das ist normalerweise keine gute Sache.

    
Andrew Madsen 05.03.2012, 22:37
quelle
1

Sehen Sie sich die Antworten hier an: Objective-C Standard-Argumentwert

Was Sie tun sollten, ist eine Methode zu definieren, die alle Argumente übernimmt und dann bequeme Methoden schreibt, die weniger Argumente benötigen, dann umdrehen und die längere Methode mit den Standardwerten aufrufen, die Sie wollen

    
JoshRagem 05.03.2012 22:42
quelle

Tags und Links