Close Menu
iSpazioiSpazio
  • Notizie
  • Offerte
  • Downloads
  • Recensioni
  • Sconti Amazon
Menu Espanso
  • Home
  • Forum
  • Notizie
  • Offerte
  • iOS 18
  • iPhone 16
  • Downloads
  • Guide
  • Sconti Amazon
  • Contatti
  • Pubblicità
Facebook X (Twitter) Instagram YouTube TikTok
iSpazioiSpazio
  •  Forum
  • Scontiamolo
  • Wallpapers Central
  • Teslers
Scarica l'App
  • W W D C 2 5
  • Offerte
  • Guide
    • Personalizzazione
    • Video Guide TikTok
  • Recensioni
  • Downloads
    • Sfondi
    • Suonerie
    • Comandi Rapidi
    • Sfondi Personalizzati
    • Widget e Altro
    • iOS
    • iTunes
  • Dispositivi Apple
    1. iPhone
    2. iPad
    3. Mac
    4. Apple Watch
    5. iOS 26
    6. View All

    iOS 26 nasconde un indizio che lascia pensare ad un prossimo iPhone pieghevole

    16 Giu 2025

    iPhone 17 Pro, tutte le nuove funzioni in arrivo a settembre

    16 Giu 2025

    iPhone 16e entra nella Top 10 in Europa, ma non convince come gli SE

    3 Giu 2025

    WhatsApp interrompe il supporto per alcuni modelli di iPhone

    3 Giu 2025

    iPadOS 26 apre la strada all’iPad gigante: tutto ruota intorno al nuovo modello pieghevole

    13 Giu 2025

    iPadOS 26, watchOS 26 e macOS Tahoe: Ecco quali sono i dispositivi compatiibili sui quali potremo installarli

    10 Giu 2025

    iPadOS 26 migliora il multitasking con le applicazioni che diventano finestre in stile desktop

    10 Giu 2025

    iPadOS 26 rivoluzionerà il multitasking su iPad

    8 Giu 2025

    Terminale si rifà il look su macOS Tahoe, arriva il primo vero restyling dopo vent’anni

    16 Giu 2025

    Apple conferma problemi di alimentazione su alcuni Mac mini 2023, parte il programma di assistenza

    16 Giu 2025

    Apple migliora l’AutoFill dei codici di verifica su iOS 26 e macOS Tahoe

    13 Giu 2025

    iPadOS 26, watchOS 26 e macOS Tahoe: Ecco quali sono i dispositivi compatiibili sui quali potremo installarli

    10 Giu 2025

    watchOS 26 porta il Centro di Controllo personalizzato dell’iPhone su Apple Watch

    16 Giu 2025

    watchOS 26 introduce una nuova gesture del polso: ecco i modelli compatibili

    12 Giu 2025

    iOS 26 introduce le Notifiche per il Meteo estremamente avverso e widget dedicati per le tue prossime destinazioni

    11 Giu 2025

    Apple rimuove 5 quadranti da Apple Watch con l’arrivo di watchOS 26: ecco a quali dovremo dire addio

    11 Giu 2025

    Con iOS 26 e Comandi Rapidi, Apple ci da un assaggio del suo Chatbot AI che in futuro potrebbe rimpiazzare ChatGPT

    16 Giu 2025

    Perchè si chiama iOS 26? Come mai c’è stato questo grande salto? Che fine ha fatto iOS 19 per iPhone?

    16 Giu 2025

    iOS 26 mostra le copertine animate degli album in Lockscreen: e potranno farlo anche Spotify ed altre app

    16 Giu 2025

    iOS 26: installare le beta subito o aspettare? Ecco cosa conviene fare

    16 Giu 2025

    Con iOS 26 e Comandi Rapidi, Apple ci da un assaggio del suo Chatbot AI che in futuro potrebbe rimpiazzare ChatGPT

    16 Giu 2025

    Perchè si chiama iOS 26? Come mai c’è stato questo grande salto? Che fine ha fatto iOS 19 per iPhone?

    16 Giu 2025

    iOS 26 mostra le copertine animate degli album in Lockscreen: e potranno farlo anche Spotify ed altre app

    16 Giu 2025

    iOS 26: installare le beta subito o aspettare? Ecco cosa conviene fare

    16 Giu 2025
  • iPhone 16
  • iOS 26
  • Sconti Amazon
Contatti
Pubblicità
iSpazioiSpazio
  • Notizie
  • Offerte
  • Downloads
  • Recensioni
  • Sconti Amazon

Guide Teoriche per la programmazione by iSpazio #1 – Capire l’Objective-C – Parte seconda

Enzo FrancescaBy Enzo Francesca5 Nov 2008Commenta4 Mins Read
Condividi Facebook Twitter Telegram WhatsApp Copy Link Threads Email
Share
Facebook Twitter WhatsApp Telegram Threads Email Copy Link
In qualità di Affiliato Amazon, iSpazio riceve un guadagno dagli acquisti idonei (info). Vedi le offerte su Telegram.
Icona Cerchi Prodotti Apple ed accessori Tech in sconto?

Cerchi Prodotti Apple ed accessori Tech in sconto?

Segui il nostro canale @scontiamolo su Telegram!

Eccoci alla seconda parte del nostro viaggio alla scoperta dell’Objective-C. Nella prima parte abbiamo visto la teoria e i concetti che stanno dietro ai linguaggi orientati agli oggetti e anche se abbiamo affrontato tutto in maniera molto superficiale in realtà stiamo facendo un’operazione concettuale non indifferente: stiamo imparando a conoscere un nuovo PARADIGMA di programmazione.

Advertising

Adesso sappiamo, quindi, cosa sono:

  • OGGETTI (la nostra penna nera, ricordate?)
  • CLASSI (l’insieme delle penne)
  • METODI (la penna “scrive”)
  • VARIABILI (di che colore è la penna?)
  • ISTANZE (la mia penna nera è un’istanza della classe penna)

Ed è giunta l’ora di vedere questi concetti calati nella realtà del codice. Quello che faremo è creare una classe, non ci interessa adesso scrivere un programma completo che possa essere compilato e lanciato, non siamo ancora pronti e ci arriveremo in seguito, quindi per ora scordatevi Hello World o cose del genere e non vi aspettate che vi parli dell’ambiente di programmazione XCode. Procediamo per Step:

Quello che faremo è scrivere il file Penna.h in cui creeremo la nostra classe Penna.
Questo file (quando sarà completo ovviamente) potrà essere aggiunto ad un qualsiasi progetto ed utilizzato senza problemi e senza dare fastidio al resto del vostro codice (a patto che non abbiate già un’altra classe che si chiama Penna).

Aprite il vostro editor di testo preferito (TextEdit, Blocco Note, XCode, quello che più vi piace) ed iniziate a scrivere il file Penna.h:

Di prassi una classe risiede in un file .h ed in un file .m (.cpp per chi viene dal C++) e di norma nel file .h viene riportata la DICHIARAZIONE della classe mentre nel file .m viene riportata la sua IMPLEMENTAZIONE. Per dirla in parole ancora più semplici nel .h scriviamo cosa fa la classe e nel .m scriviamo come lo fa.
Ora dobbiamo dichiarare la classe dunque:

@interface Penna
{

}
@end

Tutto qui. Abbiamo dichiarato la nostra prima classe in Objective-C! Complimenti.

Va bene, va bene, avete ragione potrebbe essere qualunque cosa, non abbiamo dichiarato nessun metodo e nessuna proprietà (variabile), ma è un punto di partenza. Adesso sappiamo che la dichiarazione di una classe è compresa fra due DIRETTIVE: @interface e @end.

Tutto quello che c’è fra queste due direttive fa parte della dichiarazione della nostra classe.
Aggiungiamo qualche caratteristica che identifica la nostra classe Penna, per esempio il suo colore:

@interface Penna
{

    NSString *colore;
    NSString *marca;

}
@end

Abbiamo definito due variabili di tipo NSString che definiscono rispettivamente il colore e la marca della penna. NSString è un tipo di variabile che definisce una variabile di tipo stringa e fa parte del FRAMEWORK Cocoa che è un insieme di classi preconfezionate sviluppate da Apple che facilitano la programmazione del MAC e dell’iPhone.
C’è un problema, però e cioè il compilatore non sa cosa è una NSString e non sa nemmeno dove cercarla, quindi sarebbe meglio indicarlo onde evitare di incappare in errori di compilazione.

#import <Cocoa/Cocoa.h>

@interface Penna
{

    NSString *colore;
    NSString *marca;

}
@end

Adesso ci siamo, la direttiva #import dice al compilatore di andare a cercare quello che non conosce nel file di interfaccia Cocoa.h in modo simile a quello che in C++ o C viene fatto con la direttiva #include con la differenza che #import si preoccupa di controllare se l’HEADER specificato non sia già stato incluso da qualche altra parte o se sia effettivamente necessario.

A questo punto manca solo una cosa da fare e cioè definire (dichiarare per meglio dire) uno o più METODI che facciano qualcosa. Per rimanere in linea con l’esempio della penna potremmo dichiarare il metodo “scriviQualcosa”.

#import <Cocoa/Cocoa.h>

@interface Penna
{

    NSString *colore;
    NSString *marca;

}

- (void) scriviQualcosa;

@end

Cosa abbiamo scritto? Abbiamo dichiarato il PROTOTIPO di un metodo e cioè abbiamo dichiarato una funzione che si occuperà di fare qualcosa, magari di modificare le variabili della classe o forse di comunicare con l’esterno, ma ora non ci interessa. La sintassi è quella di scrivere il segno “meno” (ci sono metodi che hanno bisogno del segno “più” davanti, ma vedremo in seguito cosa significa) seguito dal tipo di variabile restituito dal metodo racchiuso fra parentesi tonde (in questo caso il metodo non restituisce nulla al chiamante , quindi void è la variabile che fa per noi) ed infine il nome del metodo seguito dal punto e virgola.
Benissimo, adesso la dichiarazione della classe è completa, potete salvare il file Penna.h che è il vostro HEADER contenente la DICHIARAZIONE della CLASSE Penna.
Nella prossima guida, come avrete immaginato, ci occuperemo dell’IMPLEMENTAZIONE della classe Penna (un po’ debole come classe, ma portate pazienza, in seguito faremo classi molto più utili e pratiche, questa è puramente didattica).

Enzo Francesca per iSpazio.net


Sai che siamo anche su Telegram? Unisciti al nostro canale iSpazio per ricevere le notifiche oppure Apple Italia per chattare con altri utenti. Scopri i migliori prodotti Tech in sconto su Amazon con il nostro canale OFFERTE iSpazio.

Scarica la nostra app e leggi le notizie in mobilità. Porta iSpazio sempre con te, anche su Telegram.
| Applicazione iOS
Con l'applicazione ufficiale di iSpazio resterai sempre aggiornato sulle notizie Apple, video tutorial per iPhone e tanto altro. riceverai una notifica per ogni nuovo articolo. Puoi utilizzare anche i Widget per tenere le novità sott'occhio nella Home o nella Lockscreen.
Scaricala subito!
| Canale Telegram 10.700+ Utenti
Su Telegram invece, segnaliamo soltanto le notizie più importanti ed urgenti oppure i nostri nuovi video su YouTube. E' un canale molto interessante, assolutamente non invasivo perchè non inviamo troppe push, e vi consigliamo di seguirci anche lì.
Unisciti a noi!
ispazio notifiche
iSpazio Developers
Seguici su Google News
Share. Facebook Twitter Telegram WhatsApp Threads Email Copy Link
Previous ArticleiSpazio LastMinute – 5 Novembre – Applicazioni in Offerta sull’AppStore
Next Article iSpazio MiniContest #5 – Ecco gli ID dei partecipanti!

Articoli correlati

Vi presentiamo iSpazio DevResources, la nuova sezione di iSpazio con corsi di programmazione, risorse per sviluppatori e collaborazioni esclusive

14 Mar 2011Commenta

“Tutorial pratici per iPhone SDK”: Il primo libro elettronico per imparare a realizzare applicazioni iPhone

12 Giu 2009Commenta

MemTool: Un potente TaskManager per iPhone ed iPod Touch | iSpazio Developers Site

21 Feb 2009Commenta

iSpazio ProgressColour- iSpazio Developer Program #5

26 Set 2008Commenta

Leggi o Aggiungi Commenti

Advertising

Da non perdere!

iOS 26 Beta 1 è disponibile: Ecco come scaricarlo ed installarlo su iPhone

9 Giu 2025

Ecco la lista degli iPhone sui quali è possibile installare iOS 26

9 Giu 2025

Apple presenta iOS 26 con nuovo design “Liquid Glass” e tantissime novità!

10 Giu 2025

Apple prepara il più grande restyling software dai tempi di iOS 7 e coinvolgerà tutti i suoi sistemi operativi

26 Mag 2025
Advertising

Gli articoli più letti

watchOS 26 introduce una nuova gesture del polso: ecco i modelli compatibili

iOS 18.6 sarà uno degli ultimi aggiornamenti prima dell’arrivo di iOS 26, ecco cosa aspettarsi

Info su iSpazio
Info su iSpazio

iSpazio è il punto di riferimento italiano per tutti gli appassionati Apple. Dal 2007, sul nostro sito trovi notizie, recensioni e guide per imparare ad utilizzare al meglio iOS, l'iPhone e tutti gli altri dispostivi dell'azienda.

Contattaci
Pubblicità

Il Network
Il Network

L'esperienza maturata su iSpazio ci ha portati, con il tempo, a realizzare altri progetti ed aprire nuovi siti con tematiche strettamente correlate al nostro Blog principale.

Oggi, siamo i fieri proprietari di un Network composto da: iSpazio, Scontiamolo, Wallpapers Central e Smart Central e Teslers.

Link Rapidi
  • Chi siamo
  • Contattaci
  • Legal
  • Privacy Policy
  • Pubblicità su
© Copyright 2025 iSpazio SRL | Partita IVA: 10137091210
  • Chi siamo
  • Contattaci
  • Legal
  • Privacy Policy
  • Pubblicità su

Type above and press Enter to search. Press Esc to cancel.