DevTutorial #21 – Creiamo il nostro client per Twitter! (Parte 1)

Dopo una lunga attesa, eccoci con una nuova serie di tutorial!

Quello che inizieremo a realizzare oggi (e per un altro paio di tutorial successivi) sarà un nostro personalissimo client per Twitter! Vedremo, infatti, come sfruttare il progetto MGTwitterEngine, che ci permetterà di interagire con il nostro account di Twitter. Utilizzeremo, inoltre, degli aspetti più particolari e complessi dell’iPhone SDK.

Ecco quello che faremo oggi:

  • Inserire la libreria MGTwitterEngine nel nostro progetto e settarla in maniera corretta;
  • Collegarci, sfruttando tale libreria, alla nostro timeline di Twitter;
  • Ricavare i vari tweet della timeline e salvarli in una lista con elemento ad-hoc.

Già che siamo in tema, vi ricordo che il nostro canale Twitter è raggiungibile a questo indirizzo, vi invito a seguirci se ancora non lo fate! 😉

Ora sotto con il codice, buon tutorial a tutti!

Leggi il tutorial completo su devAPP

Ingegnere informatico e sviluppatore freelance, mi occupo da anni di sviluppo per iOS (ma non solo). Dal 2008 scrivo su questo piccolo blog (con qualche lunga pausa), in cui parlo di programmazione e di qualsiasi altra cosa che mi diverta.

16 comments On DevTutorial #21 – Creiamo il nostro client per Twitter! (Parte 1)

  • Wow!Oggi provo questa mitica guida

  • tutorial fantastico!!

  • Non ho letto tutto il tutorial, ma mi sono fermato alla classe Tweet, dove mi sembra che ci siano un paio di errori.
    Nel metodo dealloc, infatti, imposti le due variabili di istanza, testo e user, a nil, ma senza rilasciarle.
    Dato che quando vengono impostate viene fatto un retain, quando non servono più vanno rilasciate, altrimenti si creeranno dei memory leak.
    Allo stesso modo, anche la variabile immagine andrebbe rilasciata, invece gli viene passato il metodo dealloc, che, come spiegato dalla documentazione, non andrebbe mai chiamato direttamente.
    Impostare le variabili a nil, poi, non a senso nel metodo dealloc, dato che questo viene chiamato quando l’oggetto viene distrutto, quindi non c’è più il rischio di usare quelle variabili.
    Andrebbe, invece, bene farlo in altri metodi della classe, dopo aver rilasciato l’oggetto, si può impostare il puntatore a nil, così che un eventuale uso non aspettato della variabile non punterebbe ad una zona di memoria non più valida causando crash.
    La versione corretta sarebbe probabilmente una cosa simile:
    – (void)dealloc{
    [testo release];
    [user release];
    [immagine release];
    [super dealloc];
    }

    P.S. Sperando di aver fatto cosa gradita. 😉

  • @MacMomo: ciao, grazie mille della precisazione!

    hai perfettamente ragione, ho provveduto subito a correggerle..

    ho sbagliato perchè ho preso spunto da una classe che avevo già creato in precedenza, molto simile. In quel caso, però, avevo dichiarato le “property” come copy, quindi in quel caso sarebbe giusto utilizzare il “nil” per rilasciarle..

    utilizzando, però, retain per le variabili, è giusto utilizzare poi retain nel metodo dealloc.

    grazie ancora della segnalazione, se noti altri errori fammelo sapere! 😉

  • @Andrea Busi:
    Probabilmente l’hai corretto troppo di fretta, perché hai scritto retain invece di release. 😉
    (Il metodo retain aumenta il retainCount dell’oggetto, evitando che lo stesso venga rilasciato, mentre il metodo release lo decrementa, permettendo appunto che vanga rilasciata la sua memoria quando questo arriva a 0).

  • @MacMomo: davvero, ma che tonto! xD

    ho fatto tutto troppo di fretta.. adesso dovrebbe essere giusto, grazie ancora della segnalazione 😉

    P.S: vedo che te ne intendi di ObjC, se ti va di scrivere qualche tutorial fammi sapere 😉

  • Andrea busi : So USAre molto bene Gamesalad se vuoi ti scrivo un tutorial!

  • Ciao Andrea,
    A quando la nuova parte del tutorial? Non vedo l’ora 😀

    Grazie,
    Matteo

  • ho appena inserita la stringa per leggere solo i messaggi di un utente, non tutta la sua timeline. La trovare nella “nota” nel paragrafo 5.

  • In getMessaggio basterebbe

    -(NSString*)getMessaggio:(NSDictionary*)element{
    return [element objectForKey:@”text”];
    }

    dato che element e’ un dictionary.

  • @Cesare: vero, non l’avevo notato.. grazie mille, ho appena provato e funziona!

    appena riesco correggo il tutorial 😉

    Update: lo stesso discorso vale anche per getUser e getUrlImage, ora aggiorno subito 😉

  • guida aggiornata, i metodi
    * getMessaggio
    * getUser
    * getUrlImage
    sono più brevi e precisi..

    grazie a @Cesare per la segnalazione 😉

Leave a Reply to Andrea Busi Cancel Reply

Your email address will not be published.

Site Footer