Sintassi Objective C (puntatori)

di il
3 risposte

Sintassi Objective C (puntatori)

Ciao a tutti, spesso trovo sui testi la seguente sintassi:

- (NSString *) nome;

ora mi chiedo, nome un puntatore ad un oggetto di tipo NSString, giusto? In questo caso (e se mi sbaglio correggetemi), a parte il "whitespace" che non ha importanza, non vi sembra che l'intera espressione, ed in particolare la parentesi che racchiude NSString, sia un po' ambigua?

non sarebbe meglio scrivere:

- (NSString) *nome;

Penso che questa sia una delle cose che confondono di più chi sta imparando l'Objective C da principiante...

3 Risposte

  • Re: Sintassi Objective C (puntatori)

    Ciao, io sinceramente la trovo molto comoda come notazione, tant'è che la uso normalmente in C quando è possibile.
    In particolare penso sia comoda perché in questo modo dentro le parentesi hai la signature completa del metodo; cioè risulta chiaro fin da subito che "nome" è un puntatore a NSString, mentre trovo più scomoda la sintassi "tradizionale" tipo:
    NSString *nome
  • Re: Sintassi Objective C (puntatori)

    Mah ... sarà per abitudine decennale ma mi sembra una questione opinabile.

    Non vedo maggiore chiarezza in quel tipo di notazione. Se dovessi incontrarla in una codice C tradizionale, lo correggerei.
  • Re: Sintassi Objective C (puntatori)

    Si, sicuramente è una questione di abitudine. C'è anche da dire che facendo una cosa del tipo:
    
    struct mystruct* p1, p2;
    
    Allora p1 sarà un puntatore, mentre p2 no!
    Quindi sicuramente la sintassi tradizionale è più chiara sotto questo punto di vista!
Devi accedere o registrarti per scrivere nel forum
3 risposte