Quelques question de dev sur iphone/SDK

badro

Membre confirmé
5 Août 2008
44
0
Hello

je me lance dans la programmation sur iphone pour un projet scolaire
je ne sais pas si il est mieux de poster ici ou sur la section iphone pour les questions qui vont suivre, donc désolé...

jai principalement deux questions.
j'ai à peu pres saisi le concept des fichiers .xib, le fonctionnement de base etc à partir des différents tutoriaux et je me lance sur une appli avec une tab bar en bas.

1) dans un dossier d'un fichier .xib, quelles sont les différences fondamentales entre une view et une window?

2) par ailleurs, dans mon appli je serai à manipuler des listes d'objets (avec effet lorsque l'on clique dessus), et par exemple à pouvoir supprimer des objets d'une liste, transferer un objet d'une liste à une autre (qui correspondrait chacune à une des 4 boutosn du tab bar par exemple)

La liste des objets est implémentée via une tableview dans le fichier .xib, un peu de cette façon:

mbohzt.png


ou encore:

http://developer.apple.com/iphone/l...TableView_iPhone/Art/tvcellstyle_subtitle.jpg

Savez vous comment implémenter l'ensemble des objets pouvant potentiellement appartenir à une liste (tableview) et les enlever/ajouter etc??
Si vous avez également de bons tutoriaux sur le sujet, je crache pas dessus.

en esperant avoir été clair
merci!

Rom
 
1) dans un dossier d'un fichier .xib, quelles sont les différences fondamentales entre une view et une window?
Une fenêtre contient des vues. Une vue contient d'autres vues. D'ailleurs toute fenêtre possède une contentView.
Pendant qu'on y est: un XIB = une vue
cela pour pouvoir la charger et la gérer avec un (NS/UI)ViewController.
 
Une fenêtre contient des vues. Une vue contient d'autres vues. D'ailleurs toute fenêtre possède une contentView.
Pendant qu'on y est: un XIB = une vue
cela pour pouvoir la charger et la gérer avec un (NS/UI)ViewController.

sachant qu'une contentView et une vue particuliere, il est mal venue d'overloader a cet endroit, e.g on prefere travailler avec des subviews contenues dans cette master vue, pourquoi?, c'est lié a la "chaine des responders", la contentView est l'endroit ou "s'initialise" la chaine 'locale' heritee de la window (global listener), donc overloader une contentView peu fortement compromettre le comportement de l'application. (a part comme toujours si on sait ce que l'on fait et pour de bonnes raisons)

mais ce n'est pas seulement lié a Cocoa, avec d'autres toolkits c'est exactement la meme chose, la chaine d'evenements et plus ou moins traitee de la meme maniere, mais c'est trop souvant une question que l'on retrouve sur les forums avec des gas qui viennent chialer comme des gros benets: ca marche pas, et 99.9% des cas: j'ai overloadé la "ou je ne devrais pas car je ne comprend pas globalement comment tout cela fonctionne".

donc le meilleur exemple a donne serait: as tu deja fait un simple daemon CLI qui utilise des signal handlers, si non, tu devrais commencer par cela avant de t'attaquer a l'interface graphique.

et c'est en quoi carbon est interressant et bien plus didactique pour les beginners meme si "plus ou moins deprecated", cela te pousse a construire cette contentView et a installer cette chaine d'evenements locaux herites de la fenetre, et de comprendre quand tu veux jouer avec les drag and drop que tout cela doit etre fait de maniere propre et logique, et que tu dois avoir un meta-container jouant le role d'event proxy/dispatcher.