Notation avec point

Hello,


 


Je voudrais commencer à  programmer avec la notation en point, mais je bloque légèrement.


 


Impossible d'écrire la deuxième ligne avec des points



NSCalendar *calendarVersion = NSCalendar.currentCalendar;
NSDate *date = [calendarVersion dateFromComponents:comps];

Est-il normal que Xcode ne me propose pas systématiquement l'autocomplation?


Réponses

  • Joanna CarterJoanna Carter Membre, Modérateur
    janvier 2015 modifié #2
    currentCalendar est une méthode classe de NSCalendar ; du coup, on ne peut pas utiliser la notation en point ; donc l'autocompletion ne trouveras pas currentCalendar parce que seulement les propriétés de l'instance peuvent suivre les points.
  • CéroceCéroce Membre, Modérateur
    janvier 2015 modifié #3

    Etudie ces exemples:



    [target setProperty:value];
    target.property = value;

    value = [target property];
    value = target.property;

    N'utilise la notation en point que pour les propriétés*. 


     


    *dans certains cas, on se permet de l'utiliser par exemple, pour appeler la méthode -count de NSArray, même si ce n'est pas à  proprement parler une propriété.


  • Merci effectivement je comprends mieux pourquoi ça ne fonctionne pas :)


  • Tu peux utiliser la notation point pour des méthodes qui n'ont pas d'arguments. Exemple :



    myArray.count

    En revanche, tu ne peux pas utiliser la notation point lorsque la méthode a des arguments. Imagine avec 2 arguments !!



    myObject.getObjectWithArg:obj1 secondArg:obj2

    ça ne colle pas.


Connectez-vous ou Inscrivez-vous pour répondre.