Swift: создание массива со значением по умолчанию для отдельных экземпляров объекта

Я заметил немного странно (и опасно ИМХО) поведение вСоздание массива со значением по умолчанию, Как указано вSwift 2.1: типы коллекций

Тип массива Swift также предоставляет инициализатор для создания массива определенного размера со всеми его значениями, установленными на одно и то же значение по умолчанию. Вы передаете этому инициализатору количество элементов, которые будут добавлены в новый массив (называемый счетчиком), и значение по умолчанию соответствующего типа (называемое repeatValue):

Дело в том:то же значение по умолчанию; чтобы понять, как это работает, я попытался создать массив элементов этого примера класса

class User {
  private struct Shared {
    static var sequence: Int = 0
  }

  var id: Int
  var thinkTime: NSTimeInterval // typealias di Double

  init (thinkTime: NSTimeInterval) {
    User.Shared.sequence = User.Shared.sequence+1
    id = User.Shared.sequence
    self.thinkTime = thinkTime
  }
}

и этот код тестирования:

let  howManyUsers: Int = 3
var users = [User](count: howManyUsers, repeatedValue:User(thinkTime: 10.0))
let u2: User = User(thinkTime: 10)
let u3: User = User(thinkTime: 10)
users.append(u2)
users.append(u3)
users[1].thinkTime = 20
users[3].thinkTime = 30

for u in users {
  print("User id:\(u.id) thinktime:\(u.thinkTime)")
}

дает:

User id:1 thinktime:20.0     
User id:1 thinktime:20.0
User id:1 thinktime:20.0
User id:2 thinktime:30.0
User id:3 thinktime:10.0

которые окончательно подтверждают инициализатор с количеством элементов, добавляемых в новый массив, и значением по умолчанию соответствующего типа:тот же экземпляр объекта

Какой способ, как краткий и умный, чтобы получить массивотдельные экземпляры объекта , установленный с тем же значением по умолчанию (не тот же экземпляр, а количество экземпляров, инициализированных с тем же значением по умолчанию)?

Ответы на вопрос(1)

Ваш ответ на вопрос