In swift können Sie überprüfen, ob ein Objekt eines bestimmten Typs ist. Verwenden Sie dazu etwas ähnliches wie das folgende
%Vor%In diesem Fall würden auch SKShapeNode und SKSpriteNode diese Bedingung erfüllen, da sie SKNode ableiten.
Was ist die Standardmethode zum Erkennen, ob ein Objekt von einem bestimmten Typ und nicht von einer Unterklasse dieses Typs ist?
Der von Apple empfohlene Weg, dies in Swift 2.2 zu tun, ist:
%Vor%und sobald dieser Vorschlag implementiert wurde (Swift 3.0 ), ändert sich zu:
%Vor% So funktioniert der Operator is
nicht. Wenn Sie das tun, erhalten Sie einen Kompilierungsfehler.
Der Operator is
wird verwendet, um zu überprüfen, ob ein Objekt eines bestimmten Typs einen bestimmten Untertyp aufweist. Mit SKNode
und SKShapeNode
als Beispiel würden Sie is
verwenden, um zu überprüfen, ob ein Objekt, das als SKNode
eingegeben wurde, ein SKShapeNode
oder ein SKSpriteNode
ist.
Fügen Sie dies in einen Spielplatz ein, um eine Vorstellung davon zu bekommen, wie es funktioniert:
%Vor%