[Treasure]
всего лишь синтаксис сахара для Array<Treasure>
.
Точно так же [String:Treasure]
является просто синтаксическим сахаром для Dictionary<String,Treasure>
.
[]
- всего лишь пустой массив определенного вами типа. Точно так же [:]
- это пустой словарь.
Когда дело доходит до Swift и квадратных скобок, правила просты. Они используются только в двух ситуациях:
1) работе с массивами и словарем типов:
let vectors : [[Int]] = [[1,2,3],[4,5,6]]
let birthBook : [Int:[String]] = [1987:["John","William"], 1990: ["Mary"]]
2) для индексирования объекты, которые поддерживают индексирование:
class RouteMapper {
private var routeMap : [String:String] = [:]
subscript(endpoint: String) -> String {
get {
if let route = routeMap[endpoint] {
return route
}
return "/"
}
set(newValue) {
routeMap[endpoint] = newValue
}
}
}
let routeMapper = RouteMapper()
routeMapper["users"] = "/v1/confirmed/users"
let url = routeMapper["admins"]
С [
и ]
не разрешены в пользовательских операциях, это единственные способы использования.
это массив. строка var treasures: [Treasure] = [] объявляет массив, называемый сокровищами, которые должны удерживать объекты класса Treasure и инициализировать его пустым массивом –