UITableView et ses delegates/datasource

Paisible.frPaisible.fr Membre
01:52 modifié dans API UIKit #1
Bonjour,

Je démarre un petit projet pour faire des tests et approfondir le SDK iPhone.
Je voudrais une application avec une tabBar en bas avec 2 choix. Le premier item affiche une UIView avec un UILabel et un UITextView. Le second item affiche une UIView avec un UILabel et une UITableView.

Pour le premier item pas de prob. Pour le second cela se corse un peu.

Je procède de la manière suivante :
- Création d'un XIB de type "View XIB" dans xcode
- Création d'une Cocoa Touch class de type "UITableViewController subclass" intitulée "TableViewDelegate"

Dans Interface builder j'ajoute dans ma vue un "UITableView".
J'ajoute un objet UITableViewController. Dans "class" j'y met ma classe "TableViewDelegate"
Et je fixe le delegate et le source de ma UITableView sur mon object UITableViewController.

Résultat : ca plante grave et je comprends pas trop pourquoi.
J'ai du rater un petit détail, mais mon dimanche n'y à  pas suffit pour mettre le doigt dessus.

Une idéee, un conseil ?

Merci

PS : J'ai lu les tutoriaux du ranch, la doc apple, et divers trucs sur le net.

Réponses

  • Philippe49Philippe49 Membre
    01:52 modifié #2
    dans 1234168815:

    Dans Interface builder j'ajoute dans ma vue un "UITableView".
    J'ajoute un objet UITableViewController.

    Dans le xib que tu as créé, il n'y a pas à  ajouter de UITableViewController. C'est le File's Owner qui doit être déclaré de classe TableViewDelegate .

    Par contre, il faut ajouter dans le xib principal un UITableViewController, en faisant un paramétrage correct dans l'inspecteur pour les intervenants dans ce xib. Le File's Owner du xib créé n'est qu'un proxy de l'instance définie dans le xib principal. 

    dans 1234168815:

    Résultat : ca plante grave et je comprends pas trop pourquoi.
    J'ai du rater un petit détail, mais mon dimanche n'y à  pas suffit pour mettre le doigt dessus.

  • Paisible.frPaisible.fr Membre
    01:52 modifié #3
    Merci pour les explications. Je suis stupéfait que tu ai réussi à  comprendre mon problème vu le charabia que j'avais ecris !

    dans 1234170247:

    Par contre, il faut ajouter dans le xib principal un UITableViewController, en faisant un paramétrage correct dans l'inspecteur pour les intervenants dans ce xib. Le File's Owner du xib créé n'est qu'un proxy de l'instance définie dans le xib principal. 

    Autant je comprends le principe et cela m'éclaire, autant je vois pas comment je vais pouvoir relier le proxy à  l'instance définie dans le XIB principal... cela me laisse perplexe.
  • Philippe49Philippe49 Membre
    01:52 modifié #4
    dans 1234180208:

    Autant je comprends le principe et cela m'éclaire, autant je vois pas comment je vais pouvoir relier le proxy à  l'instance définie dans le XIB principal... cela me laisse perplexe.

    Tu n'as pas à  t'en occuper, lors du désarchivage du xib principal, un TableViewController est créé en désarchivant le xib associé. On peut considérer que l'instance du TableViewController devient ainsi le File's Owner du xib secondaire ...

Connectez-vous ou Inscrivez-vous pour répondre.