Build a simple Table View

With XCode is available the “Navigation-based Application” in which the basic element is a Table View. If you are a beginner iPhone developer and you just need to understand the basic usage of a Table View this template could be a bit overwhelming.

In this article I’ll show the steps required to create a simple iPhone application to show an array of strings on a table. Continua a leggere

Utilizzare selectRowAtIndexPath senza possibilità di selezione dell’utente

Ho trovato un utile trucco che permette l’utilizzo del messaggio che consente il posizionamento di una UITableView su di una certa cella senza che l’utente possa effettuare selezioni manuali.
Infatti se si imposta la proprietà allowsSelection a NO non funziona nemmeno più la chiamata a selectRowAtIndexPath (ovviamente forse…).

Il trucco consiste nell’impostare all’interno della cellForRowAtIndexPath nella definizione della cella lo stile UITableViewCellSelectionStyleNone in questo modo :

cell.selectionStyle = UITableViewCellSelectionStyleNone;

In questo modo la selezione automatica funzionerà ma eventuali selezioni manuali da parte dell’utenti saranno attive ma sostanzialmente invisibili (a patto di non implementare didSelectRowAtIndexPath).

Ricerca in un NSArray di NSDictionary: uso di NSPredicate

Mi sono trovato a dover effettuare una ricerca di valori di alcune (ma non tutte) chiavi di oggeti NSDictionary all’interno di un NSArray.

L’utilizzo di NSPredicate permette di risolvere il problema in modo estremamente elegante e funzionale.

Assumendo che i valori del dizionario siano caratterizzati dalle chiavi key1 (un NSNumber), key2 (NSString) e key3 (NSString) e si vogliano cercare gli oggetti in cui key1 e key3 assumono certi valori il codice è il seguente:

int valore;
NSString stringa;

if ([array count] > 0) {
if ([[array filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"(key1 == %d && key3 == %@)", valore, stringa]] count] > 0)
   // Value is present
}