Je suis très nouveau dans le codage, donc je n'ai vraiment aucune idée de ce qui se passe.
J'ai essayé de coller l'erreur sur ce site Web et j'ai cherché les réponses des gens, mais elles ont légèrement changé par rapport à mon code d'erreur ou leur explication était trop compliquée pour moi.
Code:
import UIKit
class BasicsListScreen: UIViewController {
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
}
}
extension BasicsListScreen: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 70
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return basics.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? TableViewCell
cell?.verbLabel.text = basics[indexPath.row]
return cell!
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let vc = storyboard?.instantiateViewController(withIdentifier: "ConjViewController") as? ConjViewController
vc?.pastMe = mePast[indexPath.row]
vc?.pastYou = youPast[indexPath.row]
vc?.pastHe = hePast[indexPath.row]
vc?.pastShe = shePast[indexPath.row]
vc?.pastWe = wePast[indexPath.row]
vc?.pastYall = yallPast[indexPath.row]
vc?.pastThey = theyPast[indexPath.row]
vc?.pastPassive = passivePast[indexPath.row]
vc?.presentMe = mePresent[indexPath.row]
vc?.presentYou = youPresent[indexPath.row]
vc?.presentHe = hePresent[indexPath.row]
vc?.presentShe = shePresent[indexPath.row]
vc?.presentWe = wePresent[indexPath.row]
vc?.presentYall = yallPresent[indexPath.row]
vc?.presentThey = theyPresent[indexPath.row]
vc?.presentPassive = passivePresent[indexPath.row]
self.navigationController?.pushViewController(vc!, animated: true)
}
}
28784: 1039713] Classe inconnue BasicsListScreen dans Interface Builder déposer. 10/07/2019 13: 30: 01.795516 + 0100 App [28784: 1039713] * Arrêt de l'application en raison d'une exception non interceptée 'NSUnknownKeyException', raison: '[
setValue: forUndefinedKey:]: cette classe n'est pas une valeur clé conforme au codage pour la clé tableView. ' * Première pile d'appels lancée: (
3 Réponses :
Le message d'erreur ressemble à une connexion interrompue dans BasicMathLevelOne.xib . C'est le résultat de KVC essayant de définir une valeur sur votre InheritController pour la clé "vous" mais la classe n'a pas d'accesseur compatible KVC (plus?).
Pour trouver l'endroit exact où l'erreur se produit, définissez un point d'arrêt d'exception dans Xcode (appuyez sur Commande-6, cliquez sur le "+" dans le coin inférieur gauche, choisissez "Ajouter un point d'arrêt d'exception"). L'exécution de l'application dans le débogueur devrait l'arrêter à l'endroit où l'erreur se produit.
Les seules options qui se présentent sont: Nouvelle cible de test unitaire, nouvelle classe de test unitaire, nouvelle cible de test d'interface utilisateur et nouvelle classe de test d'interface utilisateur
Joignez votre tableView IBOutlet dans le code à votre UITableView dans Interface Builder.
Commencez à développer des applications iOS (Swift): connectez l'interface utilisateur à coder
Jetez un œil à cette page Fin de l'application due à l'exception non interceptée 'NSUnknownKeyException': crash de l'application iOS . Il peut y avoir une connexion interrompue à une prise référencée. La page ci-dessus vous montre à quoi cela ressemble.
Une autre chose à regarder est de s'assurer que votre vue de table est connectée à la bonne classe comme l'a dit Daniel Storm. Ouvrez votre storyboard et cliquez sur la vue que vous pensez être connectée BasicsListScreen. Ouvrez le "Inspecteur" en cliquant sur le bouton tout en haut à droite de Xcode. Cliquez ensuite sur "Inspecteur d'identité" qui est le bouton du milieu. Il doit afficher BasicsListScreen dans la "Classe personnalisée". Assurez-vous que c'est exact.
C'est correct. Je suis à peu près sûr que tout est connecté, j'ai vérifié.
s'il vous plaît montrer votre code afin que nous puissions comprendre.
Avez-vous correctement connecté la prise de tableview dans viewController du storyboard?