Comment réparer “plume mais n'a pas obtenu un UITableView d'erreur”?
Pourquoi j'ai cette erreur?
Résiliation d'application en raison de uncaught exception
'NSInternalInconsistencyException', la raison: '-[UITableViewController
loadView] chargé de la "pB1-re-lu8-vue-o7U-YG-E7m" plume mais n'a pas obtenu un
UITableView.'
voici mon code:
class FriendListTableViewController: UITableViewController{
var objects = NSMutableArray()
var dataArray = [["firstName":"Debasis","lastName":"Das"],["firstName":"John","lastName":"Doe"],["firstName":"Jane","lastName":"Doe"],["firstName":"Mary","lastName":"Jane"]]
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
//Dispose of any resources that can be recreated.
}
//MARK: - Table View
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dataArray.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell
let object = dataArray[indexPath.row] as NSDictionary
(cell.contentView.viewWithTag(10) as! UILabel).text = object["firstName"] as? String
(cell.contentView.viewWithTag(11) as! UILabel).text = object["lastName"] as? String
return cell
}
override func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
//Return false if you do not want the specified item to be editable.
return false
}
mon storyboard est comme ceci:
définissez le délégué...
comment puis-je le faire correctement?
Écrire dans le Vide Fait de la Méthode de Chargement.. auto.délégué=auto; auto.dataSource=auto; et dans le ViewController.h Étendre.. <UITableViewDelegate ,UITableViewDataSource>
Essayez cela et de m'en informer après la résolution de votre problème.
n'est-ce pas votre réponse écrite en objective-c? parce que je suis en utilisant swift
comment puis-je le faire correctement?
Écrire dans le Vide Fait de la Méthode de Chargement.. auto.délégué=auto; auto.dataSource=auto; et dans le ViewController.h Étendre.. <UITableViewDelegate ,UITableViewDataSource>
Essayez cela et de m'en informer après la résolution de votre problème.
n'est-ce pas votre réponse écrite en objective-c? parce que je suis en utilisant swift
OriginalL'auteur Ega Setya Putra | 2015-05-04
Vous devez vous connecter pour publier un commentaire.
J'ai le visage même problème une fois sur le temps, et Si stupide erreur, c'était, je l'ai sous-classe de la
UITableViewController
, où j'ai ajoutéUITableView
dansUIViewController
De votre storyboard de l'Image, il peut être résolu si vous utilisez
UIViewController
au lieu deUITableViewController
, essayez Seulement de cette manière peut résoudre votre problème,commeAvez-vous vérifié que votre
UITableView
a attaché avec haut-niveau. Vous pouvez le vérifier enUIStoryBoard
point de vue de la hiérarchie.la réponse ci-dessus est l'utilisation de swift.. vous êtes en utilisant swift ou objective-c?
avez-vous lu le commentaire de l'Ega Setya Putra sur votre réponse. si pas de lire en premier, puis le lire en premier et ensuite dites-moi...
J'ai mis à jour la réponse juste après le commentaire, donc veuillez prendre note que
OriginalL'auteur Viral Savaj
SWIFT 2 MISE À JOUR
J'ai essayé @Viralsavaj de la réponse, mais il n'a pas fonctionné pour moi jusqu'à ce que j'ai "accroché" le tableView d'une prise de courant à partir de la table de montage séquentiel dans le ViewController.
comme ceci:
@IBOutlet weak var tableView: UITableView!
Également l'ajouter à votre classe comme @Viralsavaj mentionné:
J'ai utilisé spécifiquement ce lien pour vous aider: Comment référencer tableView à partir d'une vue contrôleur pendant un segue
Il suffit de glisser votre tableView dans le ViewController et faire une prise de courant. Ensuite, vous pouvez faire référence à ses propriétés telles que
self.tableView.reloadData()
.Cette propriété ainsi que d'autres qui se réfèrent à la
tableView
me donnaient des erreurs jusqu'à ce que j'ai ajouté la tableView comme référencement, sur la prise de courant.Espère que cela aide les personnes dans l'avenir.
De votre commentaire sur ma réponse et cette réponse, je n'arrivais pas à déterminer si votre problème est résolu, ou existent-ils encore?
N'existe plus. Merci beaucoup. J'ai combiné vos suggestions avec une suggestion d'un autre lien. Et maintenant ça fonctionne.
OriginalL'auteur Lukesivi
J'ai eu ce problème avec la Swift 2, Xcode, 7.2, j'ai changé un
View Controller
, j'ai traîné monStoryboard
à une coutumeUITableViewController
classe, j'ai ensuite traîné unTable View
sur leView Controller
. Je ne le savais pas, je l'ai placé comme un enfant de laView
qui faisait partie de l'originalView Controller
, j'ai traîné sur leStoryboard
.J'ai simplement supprimé la
View
et a ajouté l'Affichage de la Table à nouveau que le premier enfant de la Super Vue.OriginalL'auteur Brian Ogden