Objective C et fonctions I/O

CarmélideCarmélide Membre
08:17 modifié dans API AppKit #1
Bonjour à  tous,

Je débute totalement avec la programmation Mac (j'utilisais la librairie QT avant pour la portabilité, et a restait du C++).
Je veux faire une application toute simple mais qui utilise les fonctions I/O.
Je veux charger un fichier .csv contenant des noms et afficher un nom de façon aléatoire.
J'ai donc une fenêtre avec un textField, et deux boutons, le premier pour charger un fichier (du style "parcourir") et le second pour afficher un nom au hasard.
Je comptais donc charger les noms dans un tableau mais je ne trouve pas les fonctions IO dans les docs Objective-C que j'ai pu trouver, ni comment se servir de tableaux...
J'ai suivi le tutorial officiel Cocoa avec le currency converter et j'ai compris le principe d'outlets et actions, mais quand il faut aller plus loin (comme avec les I/O), je bloque.

Quelques petits éclaircissements ne seraient pas de refus... merci  :why?:

Réponses

  • schlumschlum Membre
    08:17 modifié #2
    C'est quoi que t'appelles les fonctions I/O ?
    Il y a toutes les fonctions C de plus ou moins bas niveau (open, fopen etc.)
    Et les fonctions Cocoa de plus haut niveau dispatchées un peu partout (méthodes qui finissent par "WithContentsOfFile:")

    Pour les tableaux : NSMutableArray
  • CarmélideCarmélide Membre
    08:17 modifié #3
    ok, où puis-je trouver la documentation de toutes ces fonctions ?
    je n'ai jamais touché à  l'objective-C avant hier et je dois produire ce petit programme pour lundi...
    je me demande si je ne ferais pas mieux de le faire avec autre chose qu'Objective-C, sachant que le temps de me mettre au langage va me manger une bonne partie du weekend... et que je ne suis pas sûre d'avoir quelque chose qui tourne lundi...
    que me conseillez-vous ?
  • schlumschlum Membre
    08:17 modifié #4
    Charge l'application AppKiDo pour la doc...

    Si le programme c'est juste ce que tu dis (charger une liste et afficher un item au hasard), c'est vraiment simplissime quand même comme app  ;)
    ça se fait en quelques lignes en utilisant Cocoa.
  • CarmélideCarmélide Membre
    08:17 modifié #5
    oui oui c'est aussi simple que ça... mais je galère avec les events sur le "browse button".
    J'ai pris le widget présent dans "automator" (path pop-up button) et non dans la lib cocoa...
  • CéroceCéroce Membre, Modérateur
    08:17 modifié #6
    dans 1233919404:

    ok, où puis-je trouver la documentation de toutes ces fonctions ?
    je n'ai jamais touché à  l'objective-C avant hier et je dois produire ce petit programme pour lundi...
    que me conseillez-vous ?


    Laisse béton. Tu ne vas pas apprendre Cocoa (même les bases) en un week-end.
  • schlumschlum Membre
    08:17 modifié #7
    dans 1233923778:

    oui oui c'est aussi simple que ça... mais je galère avec les events sur le "browse button".
    J'ai pris le widget présent dans "automator" (path pop-up button) et non dans la lib cocoa...


    Pour un bouton il n'y a pas d'événements à  gérer... C'est un lien direct target/action.
  • CarmélideCarmélide Membre
    08:17 modifié #8
    dans 1233924052:

    dans 1233919404:

    ok, où puis-je trouver la documentation de toutes ces fonctions ?
    je n'ai jamais touché à  l'objective-C avant hier et je dois produire ce petit programme pour lundi...
    que me conseillez-vous ?


    Laisse béton. Tu ne vas pas apprendre Cocoa (même les bases) en un week-end.


    ok, que me conseillez-vous pour faire cette simplissime appli ?
    je connais java et C++. Mais je n'arrive pas à  avoir l'option Cocoa Java quand je crée un projet avec xcode.
  • CéroceCéroce Membre, Modérateur
    février 2009 modifié #9
    Le pont Java-Cocoa n'est plus maintenu par Apple depuis Mac OS 10.3.
    Mais ce n'est pas le problème: Objective-C s'apprend en une demi-journée avec le bouquin qui va bien. C'est Cocoa qui est compliquée à  maà®triser. Si ton truc urges, fais-le avec les outils que tu maà®trises.

    Pour démarrer avec Cocoa:
    http://www.cocoa.fr/2008/11/19/vos-debuts-en-cocoa/.
  • schlumschlum Membre
    08:17 modifié #10
    dans 1233926877:

    ok, que me conseillez-vous pour faire cette simplissime appli ?
    je connais java et C++. Mais je n'arrive pas à  avoir l'option Cocoa Java quand je crée un projet avec xcode.


    Je te conseille de faire de l'Objective-C++
    Renomme tes sources en .mm, gère les I/O, la liste, le choix etc en C++ et juste l'interface en Objective-C (y en a pour 2 lignes);
  • CarmélideCarmélide Membre
    08:17 modifié #11
    merci pour ces éclaircissements, je vais essayer de pondre quelques chose avec tout ça  :crackboom:-
  • schlumschlum Membre
    08:17 modifié #12
    Pour ce qui est de l'interface, crée une classe Controller.mm avec 2 actions pour les boutons et 1 outlet pour le champ... Une fois tout ça connecté, la seule ligne en Objective-C (hormis les entêtes des actions et de la classe Controller créées automatiquement par Interface Builder) que tu auras à  mettre sera :

    [theTextField setStringValue:[NSString stringWithUTF8String:(const char*)randomChoice]];
    


    Tu peux gérer tout le reste avec un singleton C++
  • CarmélideCarmélide Membre
    08:17 modifié #13
    bon début de semaine à  tous,

    mon challenge a été relevé puisque j'ai une appli cocoa en Objective-C qui fonctionne  :adios!:

    merci à  tous pour votre aide !

    (et ce petit avant gout m'a donné envie de développer encore plus de choses sous Mac...)
Connectez-vous ou Inscrivez-vous pour répondre.