IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Objective-C Discussion :

[débutant] Objective C 2.xx - Synthese des propriétés


Sujet :

Objective-C

  1. #1
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 957
    Points
    957
    Par défaut [débutant] Objective C 2.xx - Synthese des propriétés
    Bonjour,
    je suis en train d'apprendre le développement sur OS/X en utilisant le Objective C Tutorial (ObjCTutorial.pdf) fourni par Apple (Application CurrencyConverter utilisant Objective C 2.xx).

    J'ai lu dans la doc du tutorial (j'ai aussi lu le document Objective C 1.xx) que l'on pouvait utiliser @Synthesize pour laisser à Objective C2.xx le soins de synthétiser les getter/setter des propriétés d'une classe.
    dans la meme page on peut lire

    Note: Objective-C 2.0 features are not compatible with a system running any operating system prior
    to Mac OS X 10.5. If you are on Mac OS X 10.4 or below, you must declare these methods manually.
    les questions:
    1- Qu'en ait il de l'application compilée résultante: Fonctionnera elle sur les anciens OS/X ? autrement dit, est ce que toutes les applis compilées en ObjC 2.xx fonctionneraient (ou ne fonctionneraient pas) sous les anciennes version d'OS/X (en supposant bien sûr que l'on n'utilise que les lib de l'OS qui existent sur les anciennent version).

    2- D'une manière générale, en fonction de votre expérience concernant la réutilisabilité du code effective lors de vos développements quotidiens (professionnel ou perso), est il interessant (pour le moment) de faire les dev avec ObjC_2.xx avec les nouveautés et facilitées qu'il introduit, ou est il encre trop tot et mieux vaut attdre un peu et utiliser ObjC_1.xx ?

    Cordialement
    http://www.pocketmt.com GLCD Font Creator home site.

  2. #2
    Membre expérimenté Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Points : 1 312
    Points
    1 312
    Par défaut
    Citation Envoyé par octal Voir le message
    1- Qu'en ait il de l'application compilée résultante: Fonctionnera elle sur les anciens OS/X ? autrement dit, est ce que toutes les applis compilées en ObjC 2.xx fonctionneraient (ou ne fonctionneraient pas) sous les anciennes version d'OS/X (en supposant bien sûr que l'on n'utilise que les lib de l'OS qui existent sur les anciennent version).
    Les fonctionnalités introduites dépendent du runtime qui est présent dans le bibliothèque dynamique 'libobjc'. Par conséquent, si les fonctionnalités de l'objective-C 2.0 ne sont pas gérées dans les versions de la bibliothèque présentes sur les anciennes versions de Mac OS X, ton application ne fonctionnera à priori pas.

    Maintenant quant à savoir si ces fonctionnalités existaient déjà avant et n'ont été rendues accessibles que récemment... faudrait aller fouiller dans les sources (cf. la page des sources de Darwin). Si tu es motivé (et compétent) tu peux aller t'en assurer. Je ne sais pas si la partie concernée du code est en assembleur.

  3. #3
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 957
    Points
    957
    Par défaut
    Merci pour vos réponses à tous.


    Citation Envoyé par Spootnik Voir le message
    Les fonctionnalités introduites dépendent du runtime qui est présent dans le bibliothèque dynamique 'libobjc'. Par conséquent, si les fonctionnalités de l'objective-C 2.0 ne sont pas gérées dans les versions de la bibliothèque présentes sur les anciennes versions de Mac OS X, ton application ne fonctionnera à priori pas.
    ...
    Justement, c'est ce que je voulais savoir. Concernant les propriétés synthétisées, est ce qu'elles dépendent directement du runtime, ou est ce juste une écriture contractée indiquant au compilo (préprocesseur plus précisément) de générer le code à notre place comme si on l'avait saisie bêtement au clavier ?

    Maintenant pour les trucs genre garbage collector par exemple, est ce que ça nécessite vraiement le runtime ou est ce que le préprocesseur+compilo insèrent juste du code de libération au endroit où il faut, ou bien meme gèrent un vrai garbage collector (à la java) dans un thread à part mais qui lui utiliserai que des fonctionnalités déjà dispo dans ObjC1.

    CE que je veux dire c que est ce que les nouveautés ObjC_2 sont de vraies nouveautés intrinsèques au langage ou est ce juste une amélioration du préprocesseur et donc n'utiliserai pas un runtime diff de celui de ObjC1?

    Cordialement
    octal
    http://www.pocketmt.com GLCD Font Creator home site.

  4. #4
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 957
    Points
    957
    Par défaut
    Citation Envoyé par Spootnik Voir le message
    Les fonctionnalités introduites dépendent du runtime qui est présent dans le bibliothèque dynamique 'libobjc'. Par conséquent, si les fonctionnalités de l'objective-C 2.0 ne sont pas gérées dans les versions de la bibliothèque présentes sur les anciennes versions de Mac OS X, ton application ne fonctionnera à priori pas.

    Maintenant quant à savoir si ces fonctionnalités existaient déjà avant et n'ont été rendues accessibles que récemment...

    Je sais pas si j'avais raison ou pas dans mon précedent post

    Voilà ce que j'ai trouvé sur le site d'Apple sur la présentation de Objective C_2.xx

    http://developer.apple.com/leopard/o...jectivec2.html à la fin du second praragraphe on peut y lire (dernière phrase) ...

    At the same time, the Objective-C 2.0 runtime remains fully compatible with Objective-C 1.0 which means that your existing applications run on Leopard without a hitch.

    Cordialement
    octal
    http://www.pocketmt.com GLCD Font Creator home site.

  5. #5
    Membre expérimenté Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Points : 1 312
    Points
    1 312
    Par défaut
    La dernière phrase signifie que les applications codées en Objective-C 1.0 sont compatibles avec le runtime de l'Objective-C 2.0. Cela ne signifie rien pour l'inverse.

    Concernant le compilo j'ai un doute mais c'est à mon avis possible. Je n'ai pas eu l'occasion de tester vu que je suis sous Mac OS X 10.3. Là je laisse la place à ceux qui savent .

  6. #6
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 957
    Points
    957
    Par défaut
    Citation Envoyé par Spootnik Voir le message
    La dernière phrase signifie que les applications codées en Objective-C 1.0 sont compatibles avec le runtime de l'Objective-C 2.0. Cela ne signifie rien pour l'inverse.

    Parfaitement !!! Autant pour moi

    J'ai lu ça à la hâte ... je vais y revenir ce soir après au moins 2 ou 3 heures de repos ... là je pense que les ressources sont à -200%

    Bonne journée
    octal
    http://www.pocketmt.com GLCD Font Creator home site.

  7. #7
    Membre actif Avatar de gibet_b
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 292
    Points : 296
    Points
    296
    Par défaut
    Petit conseil lecture pour apprendre le Cocoa : Coca par la pratique, de Hillegass. Aux Editions Eyrolles. Ça vaut largement son prix.
    Jean-Baptiste, vieux membre éclairé à la bougie
    -----
    www.e-jbb.net : Écriture et lecture numérique
    ---
    Citation du moment : "On abdique pas l'honneur d'être une cible" - Cyrano De Bergerac

  8. #8
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 957
    Points
    957
    Par défaut
    Citation Envoyé par gibet_b Voir le message
    Petit conseil lecture pour apprendre le Cocoa : Coca par la pratique, de Hillegass. Aux Editions Eyrolles. Ça vaut largement son prix.
    Je l'ai commandé la semaine dernière sur Amazon ... j'ai commandé la 3eme édition (en anglais)

    http://www.amazon.com/Cocoa-Programm...5687112&sr=8-1

    Je devrai le recevoir demain ou en début de semaine prochaine

    Merci
    cordialement
    http://www.pocketmt.com GLCD Font Creator home site.

Discussions similaires

  1. [débutant]utilisation des propriétés
    Par isoman dans le forum C#
    Réponses: 10
    Dernier message: 11/12/2008, 12h25
  2. [débutant] filtrer un fichier pour afficher des infos
    Par Valichou dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 21/04/2004, 11h44
  3. recopie des propriétés d'un composant
    Par pitounette dans le forum C++Builder
    Réponses: 2
    Dernier message: 20/02/2004, 10h40
  4. Comment cacher des propriétés dans un nouvel objet ?
    Par Pedro dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/10/2003, 18h53
  5. ouverture de la fenêtre des propriétés afffichage
    Par Mercilius dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 26/03/2003, 17h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo