SWIFT Funktionen beim Aufruf sämtliche Attribute anzeigen lassen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • SWIFT Funktionen beim Aufruf sämtliche Attribute anzeigen lassen

    Hallo Zusammen,

    folgende Situation stellt sich uns hier. Person X schreibt eine Methode/Funktion welche verschiedene Parameter/Attribute zur Verfügung stellt. Person Y,Z wollen bzw. müssen diese nutzen. Funktioniert auch einwandfrei. Xcode zeigt diese auch mit allen optionalen Parametern an - fast perfekt. Nur eben fast, denn wenn Person X nicht die Syntax für die Namensvergabe aus Objective-C - bei der aus dem Namen die zu verwendeten Attribute erkennbar sind - verwendet, wird es schwierig. Für diesen Fall müssen Person Y,Z immer im Quellcode nachsehen welche Attribute gefordert werden.

    Hier mal ein Beispiel:
    Person X stellt folgende Funktion mit optionalen Parametern/Attributen bereit:
    func verarbeiteWortAusTabelle(tabName: String, sOperation: String, pKey: String = "", usedLangauge: String = "", formatModus: String = "json")
    {...}

    Wenn obige Funktion nun von weiteren Personen verwendet werden, zeigt Xcode zwar alle Parameter (tabName, sOperation, pKey, usedLangauge, formatModus) an, nur ist man dann nicht im Bilde welche Attribute (z.B. s. formatModus -> json, Alternative wäre xml) es gibt. Also ohne in die Funktion zu sehen geht es nicht.

    Gibt es eine Syntax-/Deklarations- Möglichkeit in Swift welche auch die alternativen Attribute berücksichtigt?
    Z.B. so etwas:
    func verarbeiteVerbAusTabelle(tabName: String, sOperation: String = {"add", "remove"}, pKey: String = "", usedLangauge: String = {"E","S","I"}, formatModus: String = {"json","xml"})
    {...}

    So das Xcode bei der Verwendung auch die Alternativen anzeigt. Dies wäre eine enorme Erleichterung und Zeitersparnis. Das umbenennen der Funktionen ist keine wirkliche Lösung, da wir hier sonst in vielen Projekten Anpassungen vornehmen müssten.

    Wie wird dies bei Euch gehandhabt?

    Vielen Dank mal vorab.
  • Chris schrieb:

    Du könntest zusätzlich sOperation, pKey, usedLangauge und formatModus als Enums definieren. Dann kann auch z.B. ein falsch geschriebenes Json keine Probleme mehr machen.
    Hallo Chris,

    danke für den Hinweis. Wir setzen in der Tat Enums ein, jedoch nicht für alle Parameter. Prima, dass sich da ein Spezialisten zu Wort gemeldet hat.

    Für pKey, der folgendes Format hat "YYYY-MM-DD HH:MM:SS" habe ich nicht wirklich eine praktikable Idee? Ein Ansatz war den String zu zerlegen und Zeichen für Zeichen zu prüfen. Das funktioniert auch, aber dauert seine Zeit und bei zeitkritischen Berechnungen ist dies einfach zu langwierig. Gilt nun nicht für o. g. Beispiel.

    Bestimmt gibt es eine viel einfachere und vor allem schnellere Möglichkeit die Gültigkeit zu überprüfen. Kannst Du mir da weiterhelfen?

    Danke mal vorab.