I'm having trouble with my `didSelectRowAt` function of my tableview. For some reason, although my segue identifier and destination view are correct, when I click the row, it does not load anything. Furthermore, Xcode informs me:

> 
> Cannot assign value of type 'Double?' to type 'String?'
> 
> 
> 

but I cannot find an online resource that tells me how to resolve this. For reference, the data I would like to display is from a nested JSON feed. 

**JSON Struct**

```
struct PlayerStatsParent:Decodable{
    let rankings: [PlayerStats]
}

struct PlayerStats:Decodable {
    let personaname: String?
    let score: Double?
    let solo_competitive_rank: Int?
    let avatar: String?
}

```

**Cell Select Function**

```
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
    performSegue(withIdentifier: "showDetail", sender: self)
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if let destination = segue.destination as? RankDetail {
        destination.playerRank = rank[(rankTable.indexPathForSelectedRow?.row)!]
    }
}

```

**Destination View Controller Code**

```
import UIKit

class RankDetail: UIViewController {
    @IBOutlet var rankLabel: UILabel!
    @IBOutlet var scoreLabel: UILabel!

    var playerRank:PlayerStats?

    override func viewDidLoad() {
        super.viewDidLoad()
        rankLabel.text = "\(playerRank?.solo_competitive_rank)"
        scoreLabel.text = playerRank?.score
    }

```