Klassenfunktionen funktionieren nur in einer Klasse, aber im Allgemeinen werden die Funktionen, die in Ihrer App verwendet werden, auf denselben Objekten ausgeführt. Ein saubererer Weg besteht darin, Ihre Funktionen in Erweiterungen des Objekts zu definieren, das die Funktion verwendet. Sie können alle Ihre Erweiterungen in Helper.swift
z.
extension UIColor
{
class func randomColor() -> UIColor
{
var randomRed:CGFloat = CGFloat(drand48())
var randomGreen:CGFloat = CGFloat(drand48())
var randomBlue:CGFloat = CGFloat(drand48())
return UIColor(red: randomRed, green: randomGreen, blue: randomBlue, alpha: 1.0)
}
}
mit Nutzung wie diese page.backgroundColor = UIColor.randomColor()
So können Sie Ihre Funktionen als Klassenfunktionen oder Objektfunktionen abhängig von der Verwendung, aber innerhalb der Erweiterung des Objekts definieren.
Dies hält Ihren Code frei, so dass Sie Ihre Anrufe nicht durch den Helfer in Ihrer Codebasis weiterleiten. Es ist klar definiert für das Objekt, das die Funktion benötigt. Wenn Sie Code finden, der in einer erweiterten Funktion keinen Sinn ergibt, muss die Funktion wahrscheinlich in eine stärker fokussierte Funktion umgestaltet werden.
Ich denke, Sie sollten als Klassenfunktion verwenden. –