générique je crée une classe Matrix dans rapide, que je veux que ce soit générique, donc je peux l'utiliser comme ceci:Swift: comparer les types génériques en classe
let matrix: Matrix<Character>; // Or any other type
J'ai créé ma classe comme ceci:
class Matrix<Template>: NSObject {}
Je Crating une fonction Appliquer la gravité à la matrice qui prend un emptyKey de type de modèle, et fait glisser tous les éléments non égal à emptyKey au fond de la matrice
// For example emptyKey is "_" and Template is String.
1 _ 2 1 _ _
3 4 5 == To ==> 3 _ 2
6 _ _ 6 4 5
Le problème est: quand je suis en train de comparer la value
dans la matrice à un endroit spécifique de type Template
avec le emptyKey
qui a également de type Template
, il ne parvient pas à compiler et m'a donné l'erreur:
Binary operator '==' cannot be applied to two 'Template?' operands
J'utilise xcode 7.3.1
avec Swift 2.2
Il pourrait vous aider à lire mon livre en ligne gratuit: http://www.apeth.com/swiftBook/ch04.html#_type_constraints – matt
Merci, cela a fonctionné, je vais prendre vos conseils :) –