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

2 Comments

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
}

1 Comment

Disponibile l’applicazione Bus Torino

Da oggi è disponibile su Apple App Store l’applicazione Bus Torino. Approfondimento nella pagina dedicata al prodotto.

0 Comments