您可以创建字典数组,但我建议使用结构体。
字典数组
创建一个空字典数组:
var pinArray = [[String:AnyObject]]()
将字典附加到数组:
pinArray.append(["lat":51.130231, "lon":-0.189201, "place":"home"])
pinArray.append(["lat":52.130231, "lon":-1.189201, "place":"office"])
但是由于您的字典保存两种类型的值(双精度型和字符串型),因此取回数据会很麻烦:
for pin in pinArray {
if let place = pin["place"] as? String {
print(place)
}
if let lat = pin["lat"] as? Double {
print(lat)
}
}
因此,最好使用结构体:
结构体数组
创建一个保存我们的值的结构:
struct Coordinates {
var lat:Double
var lon:Double
var place:String
}
创建这些对象的空数组:
var placesArray = [Coordinates]()
将结构体的实例追加到数组中:
placesArray.append(Coordinates(lat: 51.130231, lon: -0.189201, place: "home"))
placesArray.append(Coordinates(lat: 52.130231, lon: -1.189201, place: "office"))
然后很容易获得值:
for pin in placesArray {
print(pin.place)
print(pin.lat)
}