Dictionnaire de l'accès au réseau Swift

Considérons le code suivant qui obtient un tableau de dictionnaires à partir d'un fichier plist:

let path = NSBundle.mainBundle().pathForResource("books", ofType: "plist")
let dict = NSDictionary(contentsOfFile: path)
let books:Array = dict.objectForKey("Books") as Array<Dictionary<String, AnyObject>> //I hate how ugly and specific this is. There has got to be a better way??? Why can't I just say let books:Array = dict.objectForKey("Books")?

let rnd = Int(arc4random_uniform((UInt32(books.count))))
let bookData:Dictionary = books[rnd]

Maintenant, je vais avoir de la difficulté à accéder à différents livre dictionnaires:

let title:String = bookData.objectForKey("title") //[String: AnyObject] does not have a member named 'objectForKey'

let title:String = bookData["title"] // (String, AnyObject) is not convertible to String 

Quelle est la bonne façon de trouver le titre du livre?

Avez-vous essayé let bookData:Dictionary<String,String> = books[rnd]? Puis votre deuxième accesseur doit de travail. (Je ne suis pas à un ordinateur à l'essai)
Swift version

OriginalL'auteur soleil | 2014-07-11