# Tabbar + Navigation controller



## fumsteph (6 Janvier 2010)

Bonjour à tous,

Newbie en dev Iphone j'ai besoin d'un petit coup de main 

Je développe une petite appli iphone pour un site dont je suis admin.

La fonction principale de cette appli est l'affichage des news. Pour cela je parse le xml de mon rss, j'ai un peu tatonné mais ça marche.

Maintenant, je veux utiliser une tab bar pour les différentes vues (Edito, Articles, ... Crédits)

J'ai donc ajouter un tabbarcontroller que j'ai déclaré comme il faut et ça marche pas de souci.

Je fais pointer par exemple Edito sur un EditoViewController.xib (via l'attribut nib file dans interface builder), edito est une vue simple donc ne me pose pas de souci, j'ajouterai uniquement des labels par la suite, mon souci est pour le second "onglet" Articles.

C'est ici que je parse mon rss pour cela j'utilise un table view qui affiche le titre de l'article et en description la date et l'auteur, je veux lors du click sur un article, afficher le contenu complet, pour cela je veux utiliser un navigationController pour gérer une vue supplémentaire qui m'affichera l'article complet.

Mais voila je sèche, je ne sais pas comment déclarer le navigation controller etc. Je sais le faire sur un WindowBasedApplication sur l'objet window et via le appDelegate mais là je suis déjà dans une vue en l'occurence "articlesViewController" et je ne sais pas comment faire, je n'ai pas le appDelegate mais juste le file's owner et le first Responder.

Bref si vous pouvez m'apporter quelques lumières, ça m'arrange.

Merci d'avance et j'espère avoir été clair.

Stéphane


----------



## Céroce (6 Janvier 2010)

NSApp est une variable globale qui représente l'application. (= [NSApplication sharedApplication])
C'est comme ça sur Mac, j'imagine que c'est pareil sur CocoaTouch.

NSApp.delegate.articles
=> Parce qu'on respecte le paradigme Modèle-Vue-Contrôleur, et que les articles font partie de la couche Modèle.

C'est la datasource (couche contrôleur) de la table view (couche vue) qui accède à cette variable.

Pour ce genre de questions.


----------



## fumsteph (6 Janvier 2010)

Merci,

Je viens de poser également la question sur pommedev 

C'est dur d'être un newbie


----------



## Bladrak (7 Janvier 2010)

En cocoa touch pour récupérer l'app delegate :

```
MonProjetAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
appDelegate.attribut;
[appDelegate méthode];
```


----------



## Céroce (8 Janvier 2010)

Pas de variable globale UIApp ?


----------



## Bladrak (8 Janvier 2010)

Pas que je sache, j'ai toujours vu faire comme ça dans les exemples de code...


----------



## tatouille (12 Janvier 2010)

Céroce a dit:


> Pas de variable globale UIApp ?



[UIApplication sharedApplication] c'est un singleton, avoir une adresse avec un nom supplementaire ou referer a l'instance singleton c'est _kifkif bouriquo_  non pas de globale sur l'iphone (tout du moins visible), je sens que cela te rend triste


----------



## Céroce (12 Janvier 2010)

tatouille a dit:


> non pas de globale sur l'iphone (tout du moins visible), je sens que cela te rend triste



Non, pas plus que ça, c'est juste que je me sers souvent de la globale NSApp, ce qui est un poil plus lisible avec la notation en points ou les Keypaths KVC.


----------

