Swift
swift4

配列の中の要素の種類数を得る

結論から

コード

extension Array where Element: Equatable{
    var categoryCount: Int {
        get{
            var dic = [Element]()
            for item in self{
                if nil == dic.index(of: item){
                    dic.append(item)
                }
            }
            return dic.count
        }
    }
}

その他

何も書くことないです。
ソースのどっかにこれコピペしたら使えるはずです。