Type 'Any' has no subscript members after updating to Swift 3
<p>Here is my code in Swift:</p>

<pre><code>currentUserFirebaseReference.observeSingleEvent(of: .value, with: { (snapshot: FIRDataSnapshot) in
        let UID = snapshot.key
        let pictureURL = snapshot.value!["pictureURL"] as! String
        let name = snapshot.value!["displayname"] as! String
        let currentUser = Person(name: name, bio: "", UID: UID, pictureURL: pictureURL)
        self.currentUserInfo = currentUser
            })
</code></pre>

<p>I just updated to Xcode 8 / Swift 3, which seems to have caused the following error message:</p>

<blockquote>
  <p>"Type 'Any' has no subscript members"</p>
</blockquote>

<p>I call <code>snapshot.value!["</code>insert something here<code>"]</code> in many places in my code, I'm getting this error and I can't run my code.</p>

<p>The following code works:   </p>

<pre><code>let pic = (snapshot.value as? NSDictionary)?["pictureURL"] as? String ?? ""
</code></pre>

<p>However, I don't see what changed or what makes this necessary now versus how it was before.</p>

<p>The only thing that has changed as far as I'm aware is the syntax of the observe, but I don't understand why this caused my code to stop working.</p>