Utiliser intelligemment la doc Apple
prepa75
Membre
Bonjour,
Je commence à plus ou moins comprendre comment utiliser une méthode voire une classe lorsque que je la trouve dans la doc apple.
Seulement voilà , je ne veux pas salir le forum avec mes questions de super débutant mais comment trouver la bonne méthode ?
je m'explique : par ex je voudrai une classe qui détermine la taille d'un fichier (pour afficher la taille d'un fichier .txt en temps réel),ça ne doit pas être super compliqué à faire !
ainsi qu'une classe qui permet de lancer une ligne de code dans le terminal...
et voilà j'ai encore plein de trucs à vous demander mais il doit bien y avoir un endroit ou l'on peut avoir un récapitulatif de toute les classes et méthodes non ??
Comment vous faites vous pour connaà®tre la méthode qui correspond à votre besoin ??
Merci pour vos lumières...
Je commence à plus ou moins comprendre comment utiliser une méthode voire une classe lorsque que je la trouve dans la doc apple.
Seulement voilà , je ne veux pas salir le forum avec mes questions de super débutant mais comment trouver la bonne méthode ?
je m'explique : par ex je voudrai une classe qui détermine la taille d'un fichier (pour afficher la taille d'un fichier .txt en temps réel),ça ne doit pas être super compliqué à faire !
ainsi qu'une classe qui permet de lancer une ligne de code dans le terminal...
et voilà j'ai encore plein de trucs à vous demander mais il doit bien y avoir un endroit ou l'on peut avoir un récapitulatif de toute les classes et méthodes non ??
Comment vous faites vous pour connaà®tre la méthode qui correspond à votre besoin ??
Merci pour vos lumières...
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Bon sinon la question est intéressante et j'attends également la réponse pour m'éviter bien des recherches fastidieuses.
En général le "pro" possède déjà les principes et a déjà vu des langages orientés Objets.
Les amateurs-débutants y vont "au pif" et se font avoir! c'est comme cela que l'on apprend. Mais le forum aide dans bien des cas et les anciens répondent volontier aux questions.
exemples pour se faire avoir:
Vous voulez couper un NSString de +sieurs lignes, ligne par ligne dans un NSArray. Vous cherchez dans la doc de NSString ou dans celle de NSArray ? (1)
Puis vous voulez faire l'inverse, c'est à dire reconstituer le NSString d'origine en ajoutant un "\n" entre chaque ligne. Vous cherchez dans la doc de NSString ou dans celle de NSArray ? (2)
Réponses possibles:
(1) NSString, componentsSeparatedByString:, componentsSeparatedByCharactersInSet: ........etc
(2) NSArray, componentsJoinedByString:
Donc: courage, persévérance et questions et/ou recherches sur le forum!!
Celle que tu as dans le menu Help de Xcode ou par raccourci clavier "command ?" ou en maintenant commande+option enfoncés tout en double-clicquant sur un mot ou par un clic droit de la souris après avoir sélectionné plusieurs mots en usant de l'item du sous menu "Find Text in Documentation"
Dans la fenêtre de documentation j'use aussi des boutons "contains/prefix/Exact" et des pops menus "Doc Set" et "Language" (mais ceux là moins, en général c'est C+Objective-C & 3 of 4 Doc Sets (les 4 - Legacy) suivant le nombre de résultats obtenus pour la recherche.
Reste à savoir quel texte chercher !
Pour chercher des renseignements sur comment user d'une classe ça va bien, par contre pour trouver la classe à utiliser pour telle ou telle action c'est plus coton. Là j'use de termes plus généraux: j'aime bien les trucs du genre "management"
File Management par exemple donne NSFileManager qui permet de récupérer un dictionnaire des attributs du fichier et NSDictionary te donne une methode pour en retrouver la taille: fileSize.
Si tu tapes fileSize et cliques dessus tout en tenant option-commande enfoncées tu en verras la documentation
Pour lancer une ligne de code dans le terminal je n'ai pas su, en faisant comme ça. Google restera probablement ton meilleur ami pour ça (ou ici en attendant que tu aies suffisamment d'expérience. Un livre comme celui de Hillegass est super utile aussi, c'est lui qui m'a initié pratiquement à ce que je sais de Cocoa aujourd'hui. Par exemple je sais que NSTask permet ce genre de choses pour l'avoir vu au chapitre 34 (oui, j'ai lu/étudié les 33 autres aussi et ils m'ont été utiles,sans parler de la lecture des guides ou des références de la doc officielle ;/
Mais peut être voulais tu parler de quelque chose comme le raccourci clavier Control-R
Tape ls puis controle-R dans un éditeur si tu ne connais pas et tu verras le résultat ;-))
Oui je vais sérieusement m'y mettre ! maintenant que je vais me faire une tite licence d'info
Bonjour,
Un outil indispensable également c'est AppKiDo, pour naviguer dans classes.
Voir ici
Sinon pour le shell j'ai trouvé ça, je ne sais pas si ça correspond à tes attentes :
http://stackoverflow.com/questions/1475182/cocoa-objective-c-shell-command-line-execution
Google reste souvent de toute façon ton meilleur ami, vraiment.
oui ça correspond car sa question est la même que la mienne...mais bon je comprend pas trop ce qu'il fait,je vais essayer de trouver avec google mon ami :P
google est vraiment sympa
Sinon il ne faut pas oublier la fonction recherche du forum.
Google renvoie souvent des liens morts vers les différentes versions de PommeDev. Il faudrait vraiment que muqaddar se calme!
Plus serieusement ce qu'il faut pour bien chercher dans la doc c'est ne pas hésiter à suivre les liens et lire les Programming Guides, qui justement sont là pour ça puisque leur rôle est de repondreaux questions du genre "comment faire pour faire tel truc ?" (et non pas "quelles sont les possibilités de telle classe ?", ça c'est le rôle des docs de type "Class Reference")
Par exemple le URL Loading System Programming Guide va repondreaux questions concernant tout ce qu'on doit savoir sur le chargement des URLs : comment faire une requête, comment télécharger une ressource, ce qui ce passe quand il n'y a pas de réseau...
En général il suffit de chercher le bon mot clé dans la doc Apple pour tomber sur la liste des Programming Guides adaptés ou mieux encore, consulter directement la doc sur developer.Apple.com/iphone en particulierles "Programming Topics" organisés par thèmes, etc...
Et sinon faire une recherche Google avec les bons mots clés (de préférence en anglais, les mots clés, on a beaucoup plus de chance de trouver, à condition de connaitre le bon terme evidemment (mais bon de toute façon programmer sans connaitre les termes d'anglais technique -- je parle pas de causer couramment anglais ni même savoir l'écrire, et je parle bien d'anglais technique -- c'est utopique), ceci dit c'est parfois plus facile de connaitre le terme en anglais qu'en français (allez me traduire "multithreading" ou "runloop" vous... Même des expressions comme "design pattern" ont bien un équivalent français mais moins connu que le terme anglais même parmi les francophones, alors...)
La petite astuce du jour si vous voulez restreindre vos recherches Google au site de la doc Apple c'est de rajouter " site:developer.apple.com" a la fin de votre phrase de recherche, par exemple "memory managment site:developer.apple.com" etc. Ou sinon faire une première recherche, voir ce qu'on trouve et affiner/rebondir sur des termes qu'on voit souvent dans les réponses, par exemple si on cherche "execute UNIX command line Cocoa" et qu'on tombe sur plein de forums qui causent de "tasks" et de "pipe" on peut se dire que ce sont des mots clés, et réaliser que c'est par le terme "task" que l'on designe officiellement techniquement une commande UNIX, et donc réessayer la recherche avec ce mot clé qui a des chances de donner des résultats plus probants du coup... Et en un ou deux rebonds on a la réponse avec plein de pages donnant des exemples, on voit que tout tourne autour de NSTask et NSPipe, donc on peut également rechercher ces noms de classe sur developer.apple.com voir s'il y a des Sample Code, Programming Guide ou quoi sur le sujet, ou lire leurs Class References...
Déjà une bonne nouvelle : tu peux être sûr que ce que tu veux faire a déjà été fait et documenté ! :P
Si tu sens que tu vas galérer à rechercher directement dans la doc Apple, le plus simple est de rechercher le plus largement possible dans Google et d'affiner petit à petit pour finir dans la doc Apple.
En ce qui me concerne j'ajoutais régulièrement le terme cocoa dans mes recherches. Par exemple, pour ton histoire de terminal suffit de lancer une recherche avec les mots "terminal cocoa" et la, pif paf, tu as ta réponse. Ainsi, les bouts de code que tu vas lire te permettront d'affiner ta recherche directement dans la doc Apple (NSTask dans notre cas, c'est ce qui est mentionné dans le lien retourné par Google : http://stackoverflow.com/questions/412562/execute-a-terminal-command-from-a-cocoa-app). Avec un peu de chance tu auras, dans la documentation de la classe elle même, un lien vers un "programming guide" ou des liens sur des exemples de code.
Pour la taille d'un fichier, rechercher "file size cocoa".
Oui, évidement faut connaà®tre un peu d'anglais - ça marche peut-être en français mais j'ai l'habitude de tout chercher en anglais - mais pas forcément les termes techniques propres aux APIs Apple comme tu peux le voir dans mes exemples.
K.
En effet je commence à comprendre pourquoi vous dites que la doc apple est une bible :P
1. Etre bon en anglais (en tous cas en lecture d'anglais)
2. Apprendre quelques principes generaux de recherche : partir d'une recherche large et affiner, trouver les mots clés qui ouvrent la recherche et ceux qui ferment.
3. Utiliser Google. Google index la doc apple mais ausi stackoverflow et des miliers de blogs. Il ya donc peu d'interet a faire u e recher he sur la doc apple sauf si vous savez ce que vous cherchez.
Quand je ne connais pas du tout un sujet, j'essaye de trouver un exemple et ensuite de comprendre comment il fonctionne.
Beaucoup de gens denigrent la programmation par copier/coller. Je trouve ça dommage car c'est la maniere de faire laplus adapté à l'epoque actuelle. A condition de prendre la peine de comprendre ce que l'on a recopié.
Les Guidelines sont nos Dix commandements,
Et Steve Jobs notre Messie,
Ameeeeeeeeeeen! :P
le fossé est là : beaucoup utilisent le copier coller sans comprendre ! personnellement j'essaye de comprendre sinon je passe par un autre moyen pour coder ce dont j'ai besoin
j'avais lu un article qui concernais justement apple et il disait que Steve dans ses discourts écrits et oraux il utilisait des termes endoctrinant biblique...est-ce vrai j'en sais rien car je ne lis pas la bible mais bon si c'est vrai et volontaire c'est choquant...
Tu cumules ça avec quelqu'un de passionné par ce qu'il fait depuis toujours et qui souhait et pense révolutionné le monde, tu obtiens certains coté mystique dans le personnage.
Et tu rajoute encore une victoire contre le cancer, une greffe et le renouveau d'Apple et BAM ça fait des Chocapic...
n'étant pas croyant je ne connais pas le contenu de la bible mais en effet je pense que l'on peut y faire dire à peu prés ce que l'on veux perso ce que je ne supporte pas ce sont les pubs sur le site d'apple lorsque un nouveau produit sort, l'ordinateur le plus puissant au monde, le téléphone le plus rapide de tout les temps etc... même si c'est vrai ça me choque.
A partir de ça faut juste être un minimum méfiant et éviter les achats impulsifs et pis voilà .