In Objective-C mit Cocoa können viele Aufgaben ohne explizite Schleifen mithilfe der Schlüsselwert-Programmierung (KVP) durchgeführt werden. Zum Beispiel kann ich die größte Zahl in einem Array mit einer einzelnen Codezeile finden:
%Vor%Wie kann ich mit swift dasselbe machen? Arrays scheinen die valueForKeyPath-Methode nicht zu unterstützen.
Das Array wird tatsächlich auf die valueForKeyPath-Funktion reagieren - Sie müssen das Array nur in AnyObject
umwandeln, damit der Compiler nicht klagen muss. Wie folgt:
oder sogar, für eine Vereinigung von Objekten:
%Vor% Wenn labels
oben eine Sammlung von Labels ist, gibt das obige ein Array aller Strings der text
-Eigenschaft jedes Labels zurück.
Es entspricht auch dem folgenden:
%Vor%... genauso wie in Objective-C:)
Ich bin mir nicht sicher über KVP, aber KVO wird derzeit in Swift nicht unterstützt. Siehe auch diesen Dev-Foren-Thread:
Tags und Links swift