Comment écrire une fonction qui autorise tous les objects mais doit être Equatable
tableau d'objects Printable
et Equatable
dans Swift?
class func withItems(items: [AnyObject]){ }
Printable
et Equatable
Merci
Vous pouvez utiliser des contraintes generics pour requérir les deux protocoles dans une fonction:
class func withItems<T: AnyObject where T: Equatable, T: Printable>(items: [T]) { // ... }
Exiger que d'une propriété stockée est plus difficile, puisque Equatable
ne peut pas être utilisé comme un type. Pour ce faire, vous devez essentiellement rendre la class elle-même générique. Vous feriez mieux de déclarer les items
sous la forme d'un tableau de AnyObject
et de leur donner access via des methods generics comme celle-ci.