title: Init has been renamed to init(describing) error in Swift 3
body: <p>This code works fine in Swift 2:</p>
  
  <pre><code>guard let userData = responseData["UserProfile"] as? [String : AnyObject] else { return }
  
  var userProfileFieldsDict = [String: String]()
  if let profileUsername = userData["Username"] as? NSString {
    userProfileFieldsDict["username"] = String(profileUsername)
  }
  if let profileReputationpoints = userData["ReputationPoints"] as? NSNumber {
    userProfileFieldsDict["reputation"] = String(profileReputationpoints)
  }
  </code></pre>
  
  <p>But, in <code>Swift 3</code> it throws an error on <code>userProfileFieldsDict["reputation"]</code> saying  </p>
  
  <blockquote>
    <p>init has been renamed to init(describing:)</p>
  </blockquote>
  
  <p>My question is why does it trigger on that line and not on the <code>userProfileFieldsDict["username"]</code> assignment line, and how to go about fixing it? I'm assuming it's because I'm casting a <code>NSNumber</code> to a <code>String</code>, but I can't really understand why that matters.</p>