Ich bin eine Matrix-Klasse in schnellen Erstellung, die ich es generisch sein will, so kann ich es wie folgt verwenden:Swift: Vergleichen Sie generische Typen in der generischen Klasse
let matrix: Matrix<Character>; // Or any other type
ich meine Klasse erstellt wie folgt aus:
class Matrix<Template>: NSObject {}
ich Kistenverpackungen eine Funktion, die Schwerkraft zu Matrix Nehmen, die eine emptyKey vom Typ Vorlage nimmt, und zieht jedes Element nicht gleich dem Boden der Matrix emptyKey
// For example emptyKey is "_" and Template is String.
1 _ 2 1 _ _
3 4 5 == To ==> 3 _ 2
6 _ _ 6 4 5
Das Problem ist: wenn ich versuche, die value
in Matrix an einer bestimmten Stelle zu vergleichen, die vom Typ Template
mit dem emptyKey
, die ebenfalls vom Typ Template
, es nicht zu kompilieren und mir den Fehler gab:
Binary operator '==' cannot be applied to two 'Template?' operands
ich verwende xcode 7.3.1
mit Swift 2.2
Es könnte Ihnen helfen, mein kostenloses Online-Buch zu lesen: http://www.apeth.com/swiftBook/ch04.html#_type_constraints – matt
Danke, das hat funktioniert, ich werde Ihren Ratschlag nehmen :) –