Nello scorso articolo vi avevamo proposto un tutorial per la creazione di una semplice applicazione, l’HelloUniverse. Oggi vi presentiamo, invece, un nuovo tutorial, che vi permetterà di costruire il vostro personale lettore di feed RRS.
TUTORIAL:
- Creaiamo un nuovo progetto
- Definiamo le caratteristiche dell’applicazione
- Scarichiamo il feed e convertiamolo
- Concludiamo l’applicazione
- Un piccolo miglioramento
1. Creiamo un nuovo progetto
Aprimo Xcode, selezioniamo “File -> New Project”. Nel menù che ci appare selezioniamo “Navigation-Based Application”, clicchiamo su “Choose…” e immettiamo come nome “my RSS reader” e fate clic su “Save”. Abbiamo così creato il nostro nuovo progetto.
Se cliccate sul pulsante “Build and Go” l’applicazione verrà compilata e verrà aperto il simulatore dell’iPhone. Vedrete così la vostra applicazione (ovviamente ancora vuota), però potete già osservare che è già presente la lista che poi potremo scorrere.
Ora, nella cartella “Resources” del vostro progetto dovreste trovare anche un file “MainWindow.xib”, fateci doppio clic in modo da aprirlo con l’Interface Builder. Si aprirà una schermata come questa:
Ora, selezionate la finestra “Navigation Controller” ed entrate in “Attribute Inspector” dal menù “Tools”. Nel pannello che si aprirà digitate “my RSS reader” nel campo “Title”, e premete Invio. Vedrete così impostato il nome della vostra applicazione nella finestra.
Salvate ed uscite da Interface Builder.
2. Definiamo le caratteristiche dell’applicazione
Torniamo in Xcode, e fate doppio clic sul file “RootViewController.h”. Scrivete il seguente codice:
Come abbiamo già imparato nello scorso tutorial, questo è il file di implementazione, in cui diciamo al compliatore quando compilerà i controller della logica.
Apriamo, ora, il file “RootViewController.m”. Se guardi un po’ il codice, vedi che è qui dove c’è molto codice base per eseguire la visualizzazione mediante la tabella. L’applicazione guarderà qui per sapere come deve comportarsi nelle diverse situazioni, cosa visualizzare, come reagire ad un certo input.
Ora, modifichiamo il seguente metodo così:
Nelle nostre dichiarazioni abbiamo detto che avremmo avuto un array (NSMutableArray – una collezione di oggetti modificabile) che abbiamo chiamato “stories”. Le [Parentesi] intorno alla stringa appena inserita significa che si tratta di un messaggio: stiamo chiedendo all’array “stories” quale sia il suo valoce corrente di “count”, ovvero quanti elementi ha.
Il nostro lettore RSS conterrà il maggior numero di oggetti che potrà (tutti raccolti nel feed RSS), e li salverà nell’array; sarà quindi il metodo a dire alla tabella quante righe gli occorrono: una per ogni elemento dell’array, ovvero una per ogni elemento del feed RSS.
Ora modifichiamo il seguente metodo come mostrato di seguito (sempre nel file “RootViewController.m”):
Come potete vedere, abbiamo usato il “setText:” questo metodo dice alle celle quale sarà il contenuto. Fondamentalmente, ogni riga nella tabella è una cella, e le sue proprietà sono fissate in questo metodo.
Ci sono 4 metodi evidenziata in verde (ovvero racchiusi tra commenti) circa 3/4 righe più in basso dopo il metodo che abbiamo appena modificato. Potete eliminarli se lo volete, in quanto in questo tutorial non ci servono. Il loro scopo sarebbe quello di aggiungere ed eliminare voci dalla tabella.
Se provassimo ad eseguire il programma adesso, vedremmo che non farebbe ancora niente. Non abbiamo, infatti, ancora aggiunto la possibilità di scaricare il feed e di utilizzarlo. Quindi ora facciamo proprio questo.
3. Scarichiamo il feed e convertiamolo
Modifichiamo il metodo “viewDidAppear:
” nella seguente maniera:
Con il metodo che abbiamo appena scritto diciamo all’applicazione l’indirizzo del feed che vogliamo scaricare. Abbiamo, inoltre, invocato un metodo, “parseXMLFileAtURL”, che però non è definito nel nostro progetto. Dobbiamo qundi implementare questo metodo.
Aggiungete, quindi, le seguenti righe di codice:
Questo metodo che abbiamo aggiunto crea l’array vuoto per gli elementi del feed, crea un parser e inizia a scaricare il feed.
Per funzionare, il parser ha bisogno di altri due metodi. Eccoli (anche questi da copiare in “RootViewController.m”):
Purtroppo, il NSXMLParser è l’unico parser XML semplice disponibile su iPhone. Quindi, questo significa che dobbiamo attraversare il file dalla cima alla fine. Abbiamo una serie di stringhe a cui assegnamo valori, e poi le raccogliamo nell’oggetto stories, dove sono salvate una per una. Quando troviamo il tag di chiusura, salviamo i valori, cancelliamo i campi, e iniziamo l’elemento successivo fino a raggiungere la fine del documento.
Ecco gli ultimi due metodi da aggiungere:
4. Concludiamo l’applicazione
Dobbiamo liberare la memoria usata, per evitare sprechi.
Aggiungiamo, come abbiamo fatto nello scorso tutorial, le seguenti righe al metodo dealloc:
Successivamente, aprite il file “RootViewController.xib”, tenere premuto “control” sulla tastiera, e trascinate da “File’s Owner” a “Table View”, e rilasciate. Dovrebbe apparirvi un elenco di tre elementi, così:
Cliccate quindi sul pulsante “newsTable”. Salvare e uscite dall’Interface Builder.
Ora siamo pronti per compilare ed eseguire la nostra applicazione! Cliccate su “Build and Go” e… eccola! Il nostro personale lettore di feed RSS in funzione!
5. Un piccolo miglioramento
La nostra applicazione funziona ma.. provate a cliccare su un elemento. Non succederà niente. Non sarebbe invece più carino se si aprisse la pagina in Safari che ci permetta di leggere l’intera notizia?
E’ presto fatto! Sempre all’interno di “RootViewController.m” cercate il metodo “tableView” ed aggiungete il seguente codice:
Ora salvate il tutto, cliccate su “Build and Go” e godetevi la vostra bellissima applicazione!!
Se Avete Problemi, questo è il nostro file di progetto.
La guida è stata tradotta da Andrea Busi per iSpazio.net. Trovare la versione originale a questo indirizzo: iPhone SDK Tutorial: Build a Simple RSS reader for the iPhone. I Meriti quindi relativamente alla versione inglese, sono del legittimo autore.
Se vi piacciono questi articoli cliccate sul tasto qui sotto VOTA – WIKIO e confermate il voto nella pagina successiva che si aprirà.
Leggi o Aggiungi Commenti