Obniżanie opcji w Swift: as? Wpisz lub as! Rodzaj?

Biorąc pod uwagę, że w Swift: var optionalString: String? let dict = NSDictionary() Jaka jest praktyczna różnica między następującymi dwoma stwierdzeniami: optionalString = dict.objectForKey("SomeKey") as? String vs optionalString = dict.objectForKey("SomeKey") as! String?...