web-dev-qa-db-fra.com

Swift - Les points de vente ne peuvent pas être connectés à du contenu répétitif

L'erreur complète est la suivante: La sortie playerView de TableViewController à AVPlayerView n'est pas valide. Les prises ne peuvent pas être connectées à un contenu répétitif.

Des réponses similaires comme celle-ci n'ont pas fonctionné (en supposant que je les tente correctement, je suis très nouveau sur iOS).

Tout ce que je veux, c'est une vue dans une TableViewCell.

J'ai essayé de faire glisser une vue dans Storyboard vers la contentView (et la cellule) de mon TableViewCell, en lui attribuant une classe de AVPlayerView: UIView (et une sous-classe de tableViewCell: AVPlayerView: UITableViewCell), puis en maintenant la touche Ctrl enfoncée et en la faisant glisser dans la vue. dans mon TableViewController. Ensuite, il ne compile pas. Vraiment confus, merci pour l'aide. 

8
natecraft1

Votre vue tabulaire peut avoir un contenu statique ou dynamique.

Si vous voulez que la vue tabulaire ait toujours le même contenu, définissez-le sur statique (dans le générateur d'interface), puis vous pouvez relier les points de vente de cette manière, dans la variable UIViewController.

Si vous souhaitez que les cellules de la vue tableau changent de manière dynamique, vous ne pouvez pas le faire de cette façon. Parce que vous pourriez répéter des cellules et que le point de vente serait ambigu. Vous devez créer une sous-classe UITableViewCell pour vos cellules et y créer les points de vente.

Pour clarifier: en mode tableau dynamique, vous devez ctrl + glisser la sortie dans la sous-classe UITableViewCell, pas dans le contrôleur de vue.

26
Tiago Lira

La solution très simple est:

Il suffit de prendre la vue ou les prises de référence NSLayoutConstraint dans la sous-classe de la cellule de la vue de la table au lieu du contrôleur de la vue de la table et de l’accéder à l’aide d’un objet de la cellule de la table dans la méthode cellForRowAtIndexPath ou de toute autre méthode.

0
Alok