Swift集合中的協議類型
集合中的協議類型
協議類型可以被集合使用,表示集合中的元素均為協議類型:
let things: TextRepresentable[] = [game,d12,simoTheHamster]
如下所示,things
數組可以被直接遍曆,並調用其中元素的asText()
函數:
for thing in things {
println(thing.asText())
}
// A game of Snakes and Ladders with 25 squares
// A 12-sided dice
// A hamster named Simon
thing
被當做是TextRepresentable
類型而不是Dice
,DiceGame
,Hamster
等類型。因此能且僅能調用asText
方法