SwiftでArrayの中から1種類づつを抽出したい。


お世話になっております。  
表題の通りですが、Arrayの中から下記のようにデータを抽出するにはどうしたら良いのか？を教えていただきたいです。

Apple  
Apple  
Google  
Google  
Facebook  
Facebook  
Apple  
Google  
Facebook  
Apple  
Google  
Apple

という配列を  
Apple  
Google  
Facebook  
という配列に変換したいです。

一番目のAppleと２番目のStringを比較してAppleと同じであれば消去。  
違っていればスルー。  
一番目のAppleと3番目のStringを比較して同じであれば消去。  
違っていればスルー・・・。  
という具合に比較して、順番に数を減らして行き最終的に、  
Apple  
Google  
Facebook  
という配列に変換したいです。

下記のようのコードを途中まで作ってみたのですが、比較する回数、11回のはずですがそれが違うようです。  
そもそも11回にならない理由がわかりません。  
よろしくお願いします。

> var strArray = ["Apple", "Apple", "Google","Google", "Facebook",  
>  "Facebook","Apple", "Google", "Facebook","Apple", "Google","Apple"]  
>  var c = strArray.count - 1  
>  var x:Int = 0  
>  var z:Int = 0  
>  if c > 2 {  
>  for i in 1...c{  
>  if strArray[x] == strArray[x + z] {  
>  strArray.removeAtIndex(x + z)  
>  }  
>  z = z + 1  
>  print(strArray)  
>  }  
>  }




元の配列の順序が維持されないかもしれませんが、別解です。

[code]

    var strArray = ["Apple", "Apple", "Google","Google", "Facebook",
        "Facebook","Apple", "Google", "Facebook","Apple", "Google","Apple"]
    strArray = Array(Set(strArray))
    
[/code]




元の配列の順序が維持されないかもしれませんが、別解です。

[code]

    var strArray = ["Apple", "Apple", "Google","Google", "Facebook",
        "Facebook","Apple", "Google", "Facebook","Apple", "Google","Apple"]
    strArray = Array(Set(strArray))
    
[/code]

