Rispondo alla domanda di ILeW con un articolo vero e proprio per spiegare meglio, allegando esempio, come funzionano delegati e notifiche. Usando uno schema vediamo prima di tutto come funziona il pattern delegato:

Un oggetto in cerca di un delegato
Continua...
Uno dei vantaggi dei file Property list, che altro non sono che file testuali che seguono lo standard XML, è quello di poter essere trasformati istantaneamente in oggetti (come array o dictionary) Objective-C. Quando si crea un file Property list:

Continua...
Xcode 4 permette di sviluppare applicazioni per iPad o iPhone con target inferiore all’odierno iOS 4.3. Tuttavia lo stesso codice fornito con i template “pecca” di presunzione, dando per scontato che la nostra applicazione avrà come target iOS 4 o superiore. Nell’application delegate, ad esempio, Xcode inserisce le seguenti righe di codice:
1 2 3 4 5 6 7
| - (BOOL)application :(UIApplication *)application didFinishLaunchingWithOptions :(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible ];
return YES;
} |
Continua...
In Objective-C abbiamo due modi molto utilizzati per ricevere ed inviare messaggi tra classi: le notifiche e i delegati. La differenza tra i due, oltre che essere a livello di implementazione, dipende sostanzialmente da “quanti” – oggetti – possono ricevere un messaggio. Prima di tutto lasciatemi mostrare come nasce il concetto di delegato.
Continua...
Scrissi un articolo simile per ActionScript tempo fa: Actionscript 3.0: public, protected, private e internal. Rileggendolo mi sono accorto di due cose: la prima è stata l’estrema somiglianza con Objective-C, anche se quest’ultimo non contempla internal.
Continua...
Quando non si lavora più da soli per tutti gli sviluppatori arriva il momento di trovare delle linee guida nella scrittura del codice. Protocolli e standard che permettano di “leggere” facilmente ed intervenire (sempre facilmente) nel codice altrui.
Quando su un progetto ci lavorano più programmatori, spesso su linguaggi diversi, è obbligatorio trovare una forma comune di scrittura, di standard nella documentazione interna ed esterna al codice. Nel mio lavoro mi trovo normalmente ad interagire con:
- Objetive-C, C/C++
- PHP
- HTML
- Javascript
- Actionscript
- CSS
Continua...
In ambienti asincroni, dove chiamate a metodi o rilascio di eventi sono pane quotidiano (vedi Adobe ActionScript o Objective-C), spesso la stessa sequenza di operazioni non è identica al millesimo di secondo. Inoltre più metodi posso chiamare una funzione più generale con il rischio di annulare l’una l’effetto dell’altra.
Per chiarire il concetto un esempio lampante. In ambiente iPhone si usa spesso attivare l’indicatore di rete sulla barra di stato, per indicare che c’è – appunto – “traffico” di rete, cioè si sta eseguendo un’operazione di download o upload (scaricamento o invio dati).
Continua...
Era un po’ che non trattavo l’argomento, quindi ne approfitto subito. Ecco diversi modi per realizzare il medesimo risultato in Objective-C. A voi scoprire qual’è il più veloce e migliore!
Reverse di un array
1 2 3 4 5 6 7
| // Da implementare in una categoria
// Pone gli elementi di un array in ordine inverso
- (NSMutableArray *)reverse {
for (int i =0; i< (floor([self count ]/2.0)); i ++)
[self exchangeObjectAtIndex :i withObjectAtIndex :([self count ]-(i +1))];
return self;
} |
Continua...
Spostare il doppio Tap sul simulatore
Il simulatore iPhone/iPad in Xcode permette di simulare il doppio tap con la pressione del tasto ALT. Questo è utile per simulare anche la funzione di Pinch, quella usata per ingrandire o allontare contenuti nelle view con scroll o in oggetti UIWebView. Ebbene, alcuni di voi avranno notato che la simulazione delle “due dita” procede in modo simmetrico partendo sempre dal centro dello schermo. Per muovere questo “centro” è sufficiente tenere premuto anche il tasto SHIFT.
Continua...
L’impostazione del selettore di fine animazione, eseguita con setAnimationDidStopSelector, su una classe UIView è estremamente versatile, come già visto in setAnimationDidStopSelector: usi diversi ed avanzati.
Lasciatemi ora che vi mostri una tecnica davvero comoda quando abbiamo animazioni multiple e/o vogliamo gestire delle code (queue) di animazioni.
Continua...
Ultimi Commenti
Marco: Ti ringrazio moltissimo, mi hai illuminato
ho risolto impostando [cc_objc] //OptionViewController.m -...
Giovambattista Fazioli: @Marco: Ti consiglio un approccio credo più corretto. Se hai eseguito il subclass del tab...
Marco: Scusa lo spam.. ho notato che c’è un errore.. ecco la correzione [cc_objc] /** PrimaClasse.h **/ #import...
Marco: dimenticato.. in [cci]OptionViewController[/cci ] il [cci]@syntetize[/cci] del delegato l’ho messo
luigi: molto chiaro e semplice devo ammettere che anche scrivendo da un pà difficilmente uso delegati creati da...