Iphone: TabView + TableView
Je pense que je suis absent quelque chose de simple, mais je ne peux pas comprendre exactement ce que c'est.
Je suis en train de configurer une Application avec un UITabViewController
, et l'un de ces Onglets ont une UITableView et UISearchBar (mais pas de manette de Navigation). J'ai configuré le UITabViewController
avec tous les onglets dans interface builder, et les vues sont dans leurs propres fichiers xib. Le fichier xib pour l'onglet avec le UITableView
est mis en place et raccordé comme suit.
Des trucs dans le navigateur:
Propriétaire du fichier (Classe est ma classe personnalisée qui est un enfant de UITableViewController) affichage -> Afficher
View (class UIView, reference view -> File's owner) contains:
UITableView (if i try and set references to the data source /delegate, the app breaks)
UISearchBar (unconfigured at the moment)
Ce programme d'installation affiche tous les éléments et ne pas se bloquer, mais je ne peux pas attribuer à une source de données sans qu'il plante quand j'essaie de le charger sur l'onglet avec la UITableView. Que dois-je faire pour obtenir les données dans cette table, soit au bureau de l'IB ou le code? Mes idées sont comme suit:
- Mise en place des UITableView classe, crochet jusqu'à la vue de la table de l'IB ou à la coutume tableviewcontroller dans Xcode.
- Livre de la tête ou ordinateur portable contre le mur jusqu'à ce que cela fonctionne.
Mise à jour:
Voici l'erreur que le simulateur pousse à la console lorsque je connecte le Tableview de la source de données et leur déléguer le Propriétaire du Fichier (qui est ma coutume tableviewcontroller).
2/14/09 6:59:12 PM TabBarWillbeRight[33172] * fin de l'app en raison de uncaught exception 'NSInvalidArgumentException', la raison: '* -[UIViewController tableView:numberOfRowsInSection:]: unrecognized sélecteur envoyé à l'instance 0x523760
OriginalL'auteur | 2009-02-15
Vous devez vous connecter pour publier un commentaire.
J'ai eu un Problème similaire avec le même message d'erreur. La solution la plus simple est de cliquer sur la Vue dans la TabBarController (Le rectangle gris qui dit "vue chargée de..") de l'IB et de changer la classe de l'élément de la classe de mon TableViewController.
A fonctionné pour moi aussi. Merci!
Fonctionne pour moi, génial!!!! 😀
Merci soooo beaucoup 😀
Encore Plus de grâce.
OriginalL'auteur Andy
J'ai eu le même problème.
1. Assurez-vous que votre point de Vue met en œuvre les méthodes de source de données
2. Dans IB, définir le le identité de Classe pour votre point de vue à la classe qui implémente la source de données méthodes.
3. Cliquez-droit sur la vue de l'IB et de vérifier la source de données est relié à Fichiers Propriétaire, pas Vue
OriginalL'auteur Echilon
Si vous ne pouvez pas attribuer la source de données sans s'écraser, puis qui suggère que certains de la source de données délégué méthodes n'ont pas été mises en œuvre.
En particulier la classe de l'affectation comme la source des données doit mettre en œuvre UITableViewDataSource
Non, ce doit être elle. Mais juste pour être précis, il est tableView:numberOfRowsInSection et tableView:cellForRowAtIndexPath
droit - c'est la façon dont ils sont mis en place - qu'est-ce exactement devrait être ma source de données/délégué... j'ai essayé de le définir avec setDataSource: et setDelegate trop. Peut-être que je suis pas certains d'installation dans AppDelegate.m?
Je voudrais essayer de mettre des points d'arrêt dans la source de données et de déléguer des méthodes pour voir si elles sont appelées correctement. C'est la meilleure façon de déboguer ce que je pense.
Il ne se casse quand j'essaye de mettre de la source de données et de déléguer au bureau de l'IB, mais quand je l'utilise dans la coutume tableviewcontroller de viewwillappear, je reçois une table de travail avec pas de données. [mytableview setDelegate:self]; [mytableview setDatasource:self]; self.tableview = mytableview;
OriginalL'auteur Himadri Choudhury
Êtes-vous sûr que votre classe implémente UITableViewDelegate et UITableViewDataSource classes? Vérifiez également la déclaration de votre viewcontroller. Votre .h fichier doit être quelque chose comme ceci
Tout le reste semble être en place. Si la déclaration de classe ne précise pas qu'elle met en œuvre UITableViewDelegate et de la source de données, vous obtiendrez l'exception dès que vous définissez la source de données.
Même si vous n'utilisez pas de l'IB, assurez-vous que la déclaration de classe mentionne que la classe implémente UITableViewDelegate et UITableViewDataSource.
OriginalL'auteur lostInTransit