Chiudi il Menu
iSpazioiSpazio
  • Notizie
  • Offerte iSpazio
  • Sfondi
  • Downloads
  • Recensioni
  • iOS 26
  • Sconti Amazon
Menu Espanso
  • Home
  • Forum
  • Notizie
  • Offerte iSpazio
  • iOS 26
  • iPhone 16
  • Downloads
  • Guide
  • Sconti Amazon
  • Contatti
  • Pubblicità
Facebook X (Twitter) Instagram YouTube TikTok
iSpazioiSpazio
  •  Forum
  • Offerte iSpazio
  • Wallpapers Central
  • Teslers
Scarica l'App
  • Offerte
  • Sfondi
  • 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. Vedi tutto

    L’iPhone Pieghevole entra in produzione: svelate le misure della piega

    25 Feb 2026

    iPhone 18 Pro e Pro Max avranno un’Isola dinamica più piccola

    25 Feb 2026

    Apple registra un record di vendite di iPhone in Europa nel 2025

    25 Feb 2026

    iPhone 17e: cosa aspettarsi dal lancio di marzo 2026

    24 Feb 2026

    Apple prepara una settimana di annunci: in arrivo nuovi iPhone, iPad e Mac

    18 Feb 2026

    iPad Pro resterà praticamente invariato per anni, Apple rallenta gli aggiornamenti

    17 Feb 2026

    La barra compatta di Safari fa il suo ritorno su macOS 26.4 e iPadOS 26.4

    17 Feb 2026

    Apple si prepara a lanciare i nuovi iPad entry-level e iPad Air, ma cambierà davvero qualcosa?

    9 Feb 2026

    MacBook economico, sì. Ma quanti compromessi

    26 Feb 2026

    I Mac sono eccellenti, ma macOS 26 è un disastro: bocciatura dagli esperti

    26 Feb 2026

    Emergono nuovi dettagli sul MacBook economico prima dell’Apple Experience

    26 Feb 2026

    Apple prepara il MacBook Pro M6 con display touch ed isola dinamica: è il rumor del secolo!

    25 Feb 2026

    Apple rilascia macOS Tahoe 26.3, watchOS 26.3 e tvOS 26.3

    11 Feb 2026

    Apple lancia la sfida del Mese del Cuore 2026 su Apple Watch

    11 Feb 2026

    Apple rilascia watchOS 11.6.2 con una correzione importante

    6 Feb 2026

    Apple rilascia nuovi aggiornamenti per vecchie versioni di iOS, macOS e watchOS

    3 Feb 2026

    MacBook economico, sì. Ma quanti compromessi

    26 Feb 2026

    I Mac sono eccellenti, ma macOS 26 è un disastro: bocciatura dagli esperti

    26 Feb 2026

    Samsung “copia” Apple: One UI 8.5 introduce il Finder in stile iOS

    26 Feb 2026

    Offerte del giorno: Ecco i migliori sconti selezionati da iSpazio

    26 Feb 2026

    MacBook economico, sì. Ma quanti compromessi

    26 Feb 2026

    I Mac sono eccellenti, ma macOS 26 è un disastro: bocciatura dagli esperti

    26 Feb 2026

    Samsung “copia” Apple: One UI 8.5 introduce il Finder in stile iOS

    26 Feb 2026

    Offerte del giorno: Ecco i migliori sconti selezionati da iSpazio

    26 Feb 2026
  • iPhone 17
  • iOS 26
  • Sconti Amazon
Contatti
Pubblicità
iSpazioiSpazio
  • Notizie
  • Offerte iSpazio
  • Sfondi
  • Downloads
  • Recensioni
  • iOS 26
  • Sconti Amazon

iSpazio Developer Program #9 – Come creare una tabella (Parte II)

Andrea BusiDi Andrea Busi10 Feb 2009Commenta5 min di lettura
Condividi Facebook Twitter Telegram WhatsApp Copia Link Threads Email
Share
Facebook Twitter WhatsApp Telegram Threads Email Copia Link
In qualità di Affiliato Amazon, iSpazio riceve una commissione dagli acquisti idonei senza alcun costo per voi. (info).
Icona Cerchi Prodotti Apple ed accessori Tech in sconto?

Cerchi Prodotti Apple ed accessori Tech in sconto?

Segui il nostro canale @scontiamolo su Telegram!

Advertising

Eccoci con il secondo tutorial dedicato alle UITableView. Nella scorsa “puntata” abbiamo visto come creare una tabella, ed inserire dei dati. La nostra tabella, però, non permetteva nessuna interazione con l’utente. Oggi vedremo proprio come aggiungere delle funzioni indispensabili per un’applicazione che sfrutti le tabelle: vedremo come gestire la selezione di una cella, e implementeremo una barra da cui potremo eliminare le celle che non ci interessano più. Ma ora basta parole e buon tutorial!

TUTORIAL:

  1. Aggiungiamo la barra all’applicazione
  2. Modificare la tabella: l’evento edit
  3. Modificare la tabella: eliminare l’elemento dalla lista
  4. Implementiamo la selezione di una cella

1. Aggiungiamo la barra all’applicazione

Apriamo il nostro progetto creato con la prima parte di questo tutorial ed apriamo il file “MainWindow.xib”. Prendiamo un componente “Navigation Bar” e inseriamolo nella nostra applicazione (o in cima o alla fine, come preferite voi!). Inseriamo, anche, un “Bar Button Item”, che ci servirà per avviare la modifica della nostra tabella. Impostiamo i nomi che preferiamo, ed avremo un risultato come questo:

immagine-124

Salviamo, usciamo da Interface Builder e torniamo in XCode. Apriamo il file “MainView.h”, dovremo dichiarare il bottone presente nella barra che abbiamo appena inserito graficamente. Inseriamo, quindi, il seguente codice:

immagine-28

Abbiamo dichiarato un elemento UIBarButtonItem, che è il nostro bottone “Edit”, e un’azione “-(IBAction)edit”, che è l’azione collegata al bottone in questione (ovvero è il metodo che verrà richiamato quando si clicca sul bottone). Ora salviamo il file (“File” -> “Save”) e riapriamo il file “MainWindow.xib” (mi raccomando, non lasciatelo aperto in precedemza altrimenti non vedrete i nuovi componenti).
Dobbiamo collegare l’oggetto e l’azione. Andiamo in “Tools” -> “Connections Inspector”. Avremo un pannello come questo:

immagine-38

Per prima cosa colleghiamo “buttonEdit” al bottone che abbiamo inserito in precedenza (trascinando come al solito il pallino sull’oggetto grafico). Fatto ciò, spostiamoci un pochino in basso e facciamo lo stesso con l’azione “edit”, trascinandola anch’essa sul bottone. Se avete fatto tutto correttamente avrete un pannello come questo:

immagine-45

Salviamo tutto e torniamo al nostro XCode.

2. Modificare la tabella: l’evento edit

Ora che abbiamo impostato i componenti grafici, dobbiamo gestire la modifica della tabella. Iniziamo importando anche il nuovo componente “buttonEdit” tramite l’istruzione “@synthesize”, così:

immagine-53

Fatto questo, andiamo a fare subito un’altra piccola modifica. Se avete letto con attenzione lo scorso tutorial, vi ricorderete che nel metodo “cellForRowAtIndexPath:” c’era un’istruzione che determinava la selezione delle celle, e nel nostro caso impediva tale selezione. Eliminiamo tale riga, avremo quindi il metodo così composto:

immagine-62

Se provate ad eseguire l’applicazione vedrete che ora sarà possibile selezionare una riga qualsiasi.

Occupiamoci ora della modifica vera e propria. In precedenza abbiamo scritto l’intestazione per il metodo edit, è giunto il momento di scrivere tale metodo. Ecco il codice da inserire:

immagine-72

Analizziamo bene questo codice, che non è difficile. Abbiamo una selezione if – else, che controlla la proprietà “editing” di “myTable”: in pratica, se la tabella non è modalità di modifica (ovvero editing vale FALSE) attiviamo tale modalità, semplicemente eseguendo l’istruzione “[myTable setEditing:TRUE animated:TRUE];”. Lo stesso facciamo nell’else, ovvero se tale modalità è già attiva.
Possiamo notare, inoltre, che variamo il titolo del bottone: questa è una piccola chicca, infatti quando la viene attivata la modalità di modifica cambiamo il testo del bottone in “Fine”, in maniera da rendere più intuitiva l’applicazione!

Salviamo e clicchiamo su “Build and Go!”, la nostra applicazione sarà già funzionante. Se, però, provate ad eliminare un elemento ottenete uno strano effetto:

immagine-82

Perchè? Semplice, l’elemento non viene rimosso dalla lista, e quindi continua a comparire nella nostra tabella! Vediamo come risolvere tale problema.

3. Modificare la tabella: eliminare l’elemento dalla lista

Restiamo sempre nel file “MainView.m” e inseriamo il seguente metodo:

immagine-92

Come possiamo notare dalla struttura complicata, questo è un metodo del protocollo UITableView, un po’ come quelli che abbiamo implementato nello scorso tutorial. Cerchiamo di analizzare il codice. Il costrutto if esegue un controllo che, come spiega il commento, controlla se l’azione eseguita sulla tabella è di cancellazione di una riga. Direte voi: “Cosa posso fare di altro?” Per ora niente, perchè la nostra tabella supporta solo l’eliminazione di una riga, ma volento si potrebbe implementare anche l’inserimento di una nuova riga, oppure altre azioni. Ecco perchè questo controllo, in quando questo metodo controlla tutte le azioni che avvengono all’interno della tabella. Tornando al codice, all’interno dell’if possiamo notare due istruzioni, che eliminano l’elemento sia dalla lista che dalla tabella. Proprio la prima istruzione ci porta ad eseguire una piccola modifica: dobbiamo modificare il tipo dell’elemento “lista”, portandolo da NSArray a NSMutableArray. Dunque, il codice presente in “MainView.h” deve diventare così:

immagine-102

Questa modifica è necessaria, in quando il tipo NSArray non è modificabile, quindi non ci permetterebbe di eliminare elementi dopo la sua dichiarazione. Dobbiamo anche modificare l’istruzione presente nel metodo “awakeFromNib”, che diventerà così:

immagine-1110

Salviamo e clicchiamo su “Build and Go!”, la nostra applicazione ora funzionerà correttamente!

4. Implementiamo la selezione di una cella

Ora apportiamo un’ultima modifica, che ci servirà più che altro per comprendere come interagire con la scelta effettuata dall’utente. Vogliamo fare in modo che, quando l’utente seleziona una determinata cella, appaia un pop-up contenente l’elemento che ha selezionato. Aggiungiamo, quindi, il seguente metodo:

immagine-125

Non facciamo altro che dichiarare e istanziare un pop-up (un AlertView), in cui il messaggio sarà “[lista objectAtIndex:indexPath.row]”, ovvero appunto l’elemento selezionato dall’utente.

Clicchiamo su “Build and Go!” e gustiamoci la nostra applicazione con le nuove funzionalità!

immagine-132

Nella prossima parte di questo tutorial vedremo come implementare un box per la ricerca, proprio come avviene nell’applicazione nativa Contatti!

Se Avete Problemi, questo è il nostro file di progetto.

La guida è stata creata da Andrea Busi per “iSpazio.net” e “The Bubi Devs”. I meriti, quindi, sono del legittimo autore.

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.
Icona dell'applicazione Le Migliori Offerte Amazon disponibile su App Store

Le Migliori Offerte Amazon

Selezionate dalla redazione di iSpazio
GUARDALE LIVE  
  • Filtra:
  • Tutte
  • Apple
  • Minimo Storico
  • Alimentari e cura della casa
  • Casa e cucina
  • Elettronica
  • Giardino e giardinaggio
  • Grandi elettrodomestici
  • Prodotti per animali domestici
  • Videogiochi
32%
Trainer Natural Sterilised Adult con Salmone e Fibra di Pisello 3 Kg, 3000 Gr
08:55
Trainer Natural Sterilised Adult con Salmone e Fibra di Pisello 3 Kg, 3000 Gr30,99€20,99€
37%
EA SPORTS FC 26 Standard Edition PS5 | Videogiochi | Italiano
08:53
EA SPORTS FC 26 Standard Edition PS5 | Videogiochi | Italiano79,99€50,40€
30%  
Hisense MTM55205BE Frigorifero Doppia Porta a Libera Installazione Modello 2022, 206 L, Nero, 143.4 x‎ 54.2 x 55 cm
08:53
Hisense MTM55205BE Frigorifero Doppia Porta a Libera Installazione Modello 2022, 206 L, Nero, 143.4 x‎ 54.2 x 55 cm299,00€209,00€
45%
Kalobatuss Sciroppo Adulto 180g MDR, Dispositivo Medico
08:46
Kalobatuss Sciroppo Adulto 180g MDR, Dispositivo Medico16,00€8,84€
52%
Logitech G305 LIGHTSPEED Mouse Gaming Wireless, Sensore 12K HERO, 12.000 DPI, Design Leggero, 6 Pulsanti Programmabili, Batteria 250 Ore, Memoria Integrata, PC, Laptop – Nero
08:42
Logitech G305 LIGHTSPEED Mouse Gaming Wireless, Sensore 12K HERO, 12.000 DPI, Design Leggero, 6 Pulsanti Programmabili, Batteria 250 Ore, Memoria Integrata, PC, Laptop – Nero74,99€35,99€
7%  
La casa delle bambole di Gabby: Pronti Per La Festa – PS4
08:36
La casa delle bambole di Gabby: Pronti Per La Festa – PS429,99€28,01€
32%
Yankee Candle Candela profumata in giara grande | Bastoncino di cannella | Durata Fino a 150 Ore | regalo perfetto per le donn
08:31
Yankee Candle Candela profumata in giara grande | Bastoncino di cannella | Durata Fino a 150 Ore | regalo perfetto per le donn34,90€23,74€
44%
Vitakraft Liquid Snack, con pollo, leccornia per gatti, con taurina, a sostegno della funzione oculare, sostiene la funzione cardiaca, a ridotto contenuto calorico (1 confezione con 6x 15g)
08:26
Vitakraft Liquid Snack, con pollo, leccornia per gatti, con taurina, a sostegno della funzione oculare, sostiene la funzione cardiaca, a ridotto contenuto calorico (1 confezione con 6x 15g)3,02€1,69€
45%
Seresto collare antiparassitario per cani oltre 8 kg. Elimina pulci, zecche, pidocchi e protegge dal rischio di trasmissione della leishmaniosi fino a 8 mesi.
08:21
Seresto collare antiparassitario per cani oltre 8 kg. Elimina pulci, zecche, pidocchi e protegge dal rischio di trasmissione della leishmaniosi fino a 8 mesi.55,90€30,49€
17%
COMPO, Concime Liquido per Orchidee, Fertilizzante organo-minerale con guano, 250 ml
08:16
COMPO, Concime Liquido per Orchidee, Fertilizzante organo-minerale con guano, 250 ml7,10€5,90€
48%  
Caffarel Cioccolatini Piemonte Classico in Confezione Regalo da 215g
08:14
Caffarel Cioccolatini Piemonte Classico in Confezione Regalo da 215g22,00€11,43€
13%  
Samsung Galaxy S26+ Smartphone AI, 512GB, 3 anni di Garanzia, Processore Avanzato, Assistente Foto, Creative Studio, Camera 50 MP, 4900 mAh, White (Versione italiana)
08:10
Samsung Galaxy S26+ Smartphone AI, 512GB, 3 anni di Garanzia, Processore Avanzato, Assistente Foto, Creative Studio, Camera 50 MP, 4900 mAh, White (Versione italiana)1.489,00€1.289,00€
23%
Apple iPhone 16e 128 GB: progettato per Apple Intelligence, con chip A18, un’autonomia grandiosa, fotocamera Fusion da 48MP e display Super Retina XDR 6,1”; Nero
08:09
Apple iPhone 16e 128 GB: progettato per Apple Intelligence, con chip A18, un’autonomia grandiosa, fotocamera Fusion da 48MP e display Super Retina XDR 6,1”; Nero729,00€559,00€
16%  
Samsung Galaxy S26 Smartphone AI, 512GB, 3 anni di Garanzia, Processore Avanzato, Assistente Foto, Creative Studio, Camera 50 MP, 4300 mAh, Sky Blue (Versione italiana)
08:07
Samsung Galaxy S26 Smartphone AI, 512GB, 3 anni di Garanzia, Processore Avanzato, Assistente Foto, Creative Studio, Camera 50 MP, 4300 mAh, Sky Blue (Versione italiana)1.229,00€1.029,00€
13%
Apple AirPods 4 Auricolari wireless, Auricolari Bluetooth, Audio spaziale personalizzato, Resistenza al sudore e all’acqua, Custodia di ricarica USB-C, Chip H2, Fino a 24 ore di autonomia
08:04
Apple AirPods 4 Auricolari wireless, Auricolari Bluetooth, Audio spaziale personalizzato, Resistenza al sudore e all’acqua, Custodia di ricarica USB-C, Chip H2, Fino a 24 ore di autonomia149,00€129,00€
12%  
Samsung Galaxy S26 Ultra Smartphone AI, 512GB, 3 anni di Garanzia, Privacy Display Integrato, Processore Potente, Assistente Foto, Camera 200 MP, 5000 mAh, Cobalt Violet (Versione italiana)
08:01
Samsung Galaxy S26 Ultra Smartphone AI, 512GB, 3 anni di Garanzia, Privacy Display Integrato, Processore Potente, Assistente Foto, Camera 200 MP, 5000 mAh, Cobalt Violet (Versione italiana)1.699,00€1.499,00€

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 Developer Program
Seguici su Google News
Condividi Facebook Twitter Telegram WhatsApp Threads Email Copia Link
Articolo precedenteLock Calendar 0.2 – Update | Cydia
Articolo successivo SaveMyDocs: Per salvare file e documenti tramite Safari | AppStore

Articoli correlati

iSpazio Developer Program #16 – TabBar Application – Parte 2: inseriamo una NavigationBar

12 Ago 2009Commenta

iSpazio Developer Program #15 – TabBar Application – Parte 1: la struttura di base

4 Ago 2009Commenta

iSpazio Developer Program #8 – Come creare una tabella (Parte I)

2 Feb 2009Commenta

iSpazio AccessContact – iSpazio Developer Program #7

23 Ott 2008Commenta

Leggi o Aggiungi Commenti

Advertising

Da non perdere!

Apple prepara il MacBook Pro M6 con display touch ed isola dinamica: è il rumor del secolo!

25 Feb 2026

Wallpapers Central si aggiorna: tornano i LIVE Wallpapers e tantissime altre novità!

24 Feb 2026

iPhone 17e: cosa aspettarsi dal lancio di marzo 2026

24 Feb 2026

Apple rilascia iOS 26.4 beta 2: Ecco le Novità, in continuo aggiornamento [4]

23 Feb 2026

Gli articoli più letti

MacBook economico, sì. Ma quanti compromessi

I Mac sono eccellenti, ma macOS 26 è un disastro: bocciatura dagli esperti

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 Teslers.

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

Scrivi quello che vuoi cercare e premi Invio.