SMsoft – informatica e dintorni

varie su OSX, GNU/Linux e l'Open Source

Differenza tra viewDidLoad, viewWillAppear e viewDidAppear

Durante la programmazione objective-c, avrete a disposizione una serie di metodi che vengono eseguiti durante il caricamento di una vista. In particolare i tre metodi indicati, anche se vengono richiamati tutti durante il caricamento, possono essere usati per contenere codice diverso in base alle proprie esigenze. Mi spiego meglio.

1) viewDidLoad: Questo metodo è chiamato ogni volta che la vista viene caricata in memoria. Se bisogna aggiungere controlli che dovrebbero apparire insieme alla vista, il codice per la creazione va inserito nel metodo viewDidLoad. Così, per esempio, se la mia vista è un modulo con 3 etichette, posso creare le etichette in questo metodo.

2) viewWillAppear: Generalmente questo metodo viene usato per caricare/aggiornare i dati sulla vista. Rifacendoci all’esempio precedente, in questo metodo si possono popolare le etichette. Attenzione però, la creazione di UIViews è abbastanza “pesante” e si dovrebbe evitare il più possibile farlo nel metodo viewWillAppear, perché quando questo viene chiamato, significa che il dispositivo è già pronto a mostrare la UIView all’utente e tutto ciò che si fa di “pesante” qui, avrà impatto sulle prestazioni (es. ritardi nelle animazioni, ecc.)

3) viewDidAppear: Infine, il metodo viewDidAppear viene generalmente usato per le cose che richiedono molto tempo per l’esecuzione, ad esempio, fare una chiamata ad un webservice per ottenere dati aggiuntivi per la Vista. Il vantaggio è che, poiché la vista esiste già ed è stata già visualizzata all’utente, è possibile mostrare un messaggio “caricamento in corso”, mentre si ottengono i dati.

enjoy!

Nomi delle immagini durante lo sviluppo per iPhone/iPad

Durante lo sviluppo con Xcode, spesso ci si dimentica quali siano i nomi e le dimensioni delle immagini di default da usare per i vari dispositivi.

Tra la vasta documentazione di Apple, c’è anche il seguente schema (clicca sopra per vederlo più grande):

Mi sembra sintetico ed intuitivo

enjoy!

Riconoscere lato server se la navigazione avviene da iPad

Potrebbe essere comodo capire se la navigazione nel proprio sito avviene da iPad, magari per mostrare una pagine web formattata in modo differente.
Questa verifica può essere fatta lato client in JavaScript, oppure lato server in PHP o direttamente tramite rewrite del server web (apache in questo caso).
Il concetto è sempre lo stesso: riconoscere il browser del visitatore dall’UserAgent.

In JavaScript è possibile usare il seguente codice:

 javascript |  copy code |? 
1
var isiPad = navigator.userAgent.match(/iPad/i) != null;
2
var ua = navigator.userAgent;
3
var isiPad = /iPad/i.test(ua) || /iPhone OS/i.test(ua);

In PHP è possibile usare il seguente codice:

 php |  copy code |? 
1
$isiPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad');

Infine con le regole di rewrite da inserire in un file .htaccess, si può usare il seguente codice per attivare il redirect verso un altro indirizzo nel caso il visitatore usi un iPad:

 apache |  copy code |? 
1
RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
2
RewriteRule ^(.*)$ http://ipad.domain.ext [R=301]

16% dei clienti non è soddisfatto del Galaxy Tab, solo il 2% dell’iPad

Da una ricerca effettuata dal Digital Daily emergono dati interessanti per quanto riguarda il Samsung Galaxy Tab e l’iPad. Il sondaggio rivela che il 16% delle persone che hanno acquistato un Galaxy Tab lo hanno riportato indietro, mentre solo il 2% degli acquirenti di un iPad ha fatto la stessa cosa con il proprio tablet.

Page optimized by WP Minify WordPress Plugin