Swift: error al acceder a los datos del dictionary con una matriz de dictionarys

Tengo un ejemplo muy simple de lo que me gustaría hacer

private var data = [String: [[String: String]]]() override func viewDidLoad() { super.viewDidLoad() let dict = ["Key": "Value"] data["Blah"] = [dict, dict] } @IBAction func buttonTap(sender: AnyObject) { let array = data["Blah"] let dict = array[0] //<---- error here println(dict["Key"]) } 

Básicamente, tengo un dictionary cuyos valores contienen una matriz de dictionarys [String: String]. Recojo datos, pero cuando voy a acceder a los datos, aparece este error:

No se puede subcribir un valor de tipo '[([String: String])]?' con un índice de tipo 'Int'

Por favor, hágamelo saber lo que estoy haciendo mal.

Su array constante es opcional. La suscripción de un dictionary siempre devuelve una opción. Tienes que desenvolverlo.

 let dict = array![0] 

Mejor todavía,

 if let a = array { let dict = a[0] } 

No le gusta llamar a un subíndice en una opción.

Si está seguro de que existen datos ["Blah"], debe hacer lo siguiente:

 let dict = array![0]