Appeler une méthode comme en C

prepa75prepa75 Membre
17:43 modifié dans API AppKit #1
Bonjour,

Dans mon apprentissage de l'obj-C je viens de remarqué que je suis passé à  coté d'une manip trés pratique : appeler une fonction.
j'en ai besoin et je n'arrive pas a trouver la syntaxe correcte...

Voici ce que je veux faire en C:
<br />void fonction1()<br />{<br />//plein de code...<br />}<br /><br />int main()<br />{<br />//plein de code et la paf...appel de fonction<br />fonction1();<br />}<br />


voici mon code en obj-C :
<br />-(void)fonction1<br />{<br />//plein de code...<br />}<br /><br />-(IBAction)fonction2:(id)sender<br />{<br />//plein de code...mais comment appeler la fonction 1 ?<br />}<br />


Merci de m'enlever cette énorme lacune :D

Réponses

  • ChachaChacha Membre
    juillet 2010 modifié #2
    [self fonction1] ?
    C'est en gros la base de la syntaxe d'Objective-C, tu n'as pas pu passer à  côté... ou alors y a un truc que j'ai pas compris

    [edit]
    Ou alors c'est le "self" que tu ne connaissais pas ? Dans ce cas, c'est un problème de programmation orientée objet. Effectivement, le C n'a pas de notion d'objet. Mais c'est difficile à  expliquer en quelques mots, c"est un (très) gros morceau.
    En gros, Objective-C est un sur-ensemble de C pour lui apporter le modèle objet. D'où les méthodes, l'héritage, le polymorphisme, etc.
    La doc d'Apple sur Objective-C est en fait une doc "Apprendre l'objet avec Objective-C".
  • prepa75prepa75 Membre
    17:43 modifié #4
    dans 1279185655:

    [self fonction1] ?
    C'est en gros la base de la syntaxe d'Objective-C, tu n'as pas pu passer à  côté... ou alors y a un truc que j'ai pas compris


    en effet je ne suis pas passé à  coté mais l'utilisation de self est un peu mystérieuse pour moi ! je devrai commencer à  avoir des cours sur le C++ et la POO en école d'ingé l'année prochaine,mais pour le moment ça reste flou tout ça... :(

    je me rattache au C pour programmer même si ce n'est pas une bonne méthode car je met sous le tapis toutes les notions d'objet...je sais c'est un sacrilège car je n'utilise que 1% de la puissance de l'obj-C  :P

    vivement dans quelques mois ou j'aurai des vrai cours structurés de prog 
  • ChachaChacha Membre
    17:43 modifié #5
    dans 1279192617:

    en effet je ne suis pas passé à  coté mais l'utilisation de self est un peu mystérieuse pour moi !

    Ok, je comprends mieux !
    Bon, effectivement, avec des cours, tu comprendras assez vite ce qu'est ce "self" ("this" en C++ ou Java)

    Pour aller très vite : tu connais les "struct" en C ? Bon, et bien imagine maintenant qu'une struct puisse aussi contenir des fonctions. Et ben hop, si tu instancies une variable avec ça, ça fait un objet. (et on appelle ces fonctions des "méthodes")
    D'un point de vue syntaxique, il y a immédiatement quelque chose de sympathique : quand tu appelles une de ces fonctions, pas besoin de lui donner la struct en paramètre : elle y est naturellement attachée, et peut travailler avec les données qu'elle contient. Et dans le corps de la méthode, "self" (ou "this") représente l'objet sur lequel on est en train de bosser.

    Bon, c'est vu à  la louche, hein.
  • prepa75prepa75 Membre
    17:43 modifié #6
    en effet je connais les structures en C et je vois l'idée d'un objet,j'ai lu le cour théorique du C++ sur le site du zero et ça m'as bien aider ! mais bon c'est pas encore limpide ! il va falloir de la pratique pour ça 
  • laudemalaudema Membre
    17:43 modifié #7
    En plus de la structure, toute objet a un pointer isa qui indique sa classe, c'est lui qui permet de faire de la structure un objet ..
    souvent isa pointe sur NSObject, presque toujours si on remonte sa parenté : myString isa NSString isa NSObject..
Connectez-vous ou Inscrivez-vous pour répondre.