Accéder à différents points de vue à l'intérieur d'un UITableViewCell par tag rapide

Je suis en train de faire une application pour iOS 8, l'utilisation de swift. Le but ici est de faire une sorte de flux d'actualités. Cette alimentation affiche les messages des utilisateurs, qui suit un schéma précis.

J'ai pensé à l'aide de la UITableView, où chaque cellule suit une mise en page personnalisée. Le problème apparaît lorsque j'essaie d'accéder à une étiquette de texte à l'intérieur. J'essaye d'y accéder par son étiquette, mais quand je le fais, l'ensemble de l'application se bloque. L'erreur signalée est "Swift dynamic cast failed", et je suis en utilisant le code suivant pour accéder à la vue:

override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {

    let cellId: String = "cell"

    var cell : UITableViewCell = tableView.dequeueReusableCellWithIdentifier(cellId) as UITableViewCell

    if let ip = indexPath{
        cell.textLabel.text = myData[ip.row] as String
        var lbl = cell.contentView.viewWithTag(0) as UILabel
        lbl.text = "ola"
    }

    return cell
}

Je fais quelque chose de mal? Merci à l'avance!

  • Je ne peux pas voir le code où vous êtes réellement paramètre de la balise.
  • J'ai déjà essayé d'utiliser d'autres valeurs pour les tags, mais toujours la même chose qui se passe
  • Je vais le faire dans l'interface builder... Suis-je le fais mal?
  • Thats pas bien. Vous pouvez définir votre étiquette de valeur de l'IB trop.
  • Ne devrait-elle pas être cell.viewWithTag(0) au lieu de cell.contentView.viewWithTag(0) ?
  • Vous utilisez n'est pas coutume cellule ici? Où voulez-vous ajouter votre étiquette de votre point de vue?
  • Non, j'utilise de la cellule.contentView.viewWithTag(...) trop. Cela fonctionne bien.
  • Pourquoi voulez-vous pour obtenir la vue de cette façon? Définir la UILabel comme une propriété. Et obtenir ce point de vue en disant quelque chose comme cell.label? Ce n'est pas la réponse, mais juste une meilleure approche de l'OMI.
  • Vous m'avez fait réfléchir à deux fois et vous avez raison.. je vais suivre cette approche

InformationsquelleAutor pavlag | 2014-08-28