2017-09-16 1 views
0

J'essaie d'obtenir le texte sur une cellule de vue de table, puis d'obtenir son index dans un tableau.Dédoublement du texte de cellule UITableView

Ce code J'utilise:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as UITableViewCell 
    let indexOfCellString = event.index(of: cell.textLabel!.text) 
} 

Mais je reçois les erreurs suivantes:

    valeur
  1. de type string en option? pas déballés
  2. caractère non valide dans le fichier source

Ce qui se passe ici? De quoi d'autre ai-je besoin pour le déballer?

Répondre

0
  1. Il n'y a pas besoin de jeter dequeueReusableCell-UITableViewCell puisque c'est son type de retour.

  2. cell.textLabel est optionnel. Et puis la propriété text de UILabel est facultative.

traiter correctement optionals:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) 
    if let text = cell.textLabel?.text { 
     let indexOfCellString = event.index(text) 
     // do stuff with indexOfCellString 
    } 

    return cell 
}