Swift: crear una matriz con un valor predeterminado de instancias de objeto distintas

Me di cuenta un poco raro (y peligroso en mi humilde opinión) comportarse enCrear una matriz con un valor predeterminado. Como se indica enSwift 2.1: Tipos de colección

El tipo de matriz de Swift también proporciona un inicializador para crear una matriz de cierto tamaño con todos sus valores establecidos en el mismo valor predeterminado. Le pasa a este inicializador el número de elementos que se agregarán a la nueva matriz (llamado conteo) y un valor predeterminado del tipo apropiado (llamado valor repetido):

La cuestión es:mismo valor predeterminado; Para entender cómo funciona, intenté crear una matriz de elementos de esta clase de ejemplo

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
  }
}

y este código de prueba:

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)")
}

da:

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

que prueban definitivamente el inicializador con el número de elementos que se agregarán a la nueva matriz y un valor predeterminado del tipo apropiado son:la misma instancia de objeto

Cuál es la forma, lo más concisa e inteligente posible, de obtener una variedad deinstancias de objeto distintas , instaurado con el mismo valor predeterminado (no la misma instancia pero una cantidad de instancias inicializadas con el mismo valor predeterminado)?

Respuestas a la pregunta(1)

Su respuesta a la pregunta