Swift Language Adding values of my own type to a Set


In order to define a Set of your own type you need to conform your type to Hashable

struct Starship: Hashable {
    let name: String
    var hashValue: Int { return name.hashValue }

func ==(left:Starship, right: Starship) -> Bool {
    return left.name == right.name

Now you can create a Set of Starship(s)

let ships : Set<Starship> = [Starship(name:"Enterprise D"), Starship(name:"Voyager"), Starship(name:"Defiant") ]