Articoli con Tag ‘Objective-C’


WPDK: thinking Object-Oriented

Pensare ad oggetti è fondamentale (e naturale) in alcuni linguaggi di programmazione. In Objective-C, ad esempio, non c’è cosa che non possa essere pensata e modellata ad oggetti. In PHP questa prassi è meno frequente, un pò perché il linguaggio è da poco orientato agli oggetti, un pò perché non offre molto a livello di programmazione OO, e un pò perché gli stessi programmatori PHP hanno forse paura di appesantire o di imbarcarsi in situazioni apparentemente risolvibili con la scrittura di codice più lineare.

Continua...

Objective-C: addendum su notifiche e delegati

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:

Delegate

Un oggetto in cerca di un delegato

Continua...

Objective-C: come utilizzare al meglio i file property list

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:

Property List

Continua...

Xcode4: codice retrocompatibile

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

Objective-C: notifiche e delegati

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

Objective-C: public, protected e private

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

Coding Guidelines

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

Common Queue; una semplice soluzione

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

Varietà di coding e di coding… in Objective-C

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

10 utili snippet Objective-C

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