Mattepuffo
Risoluzione iPhone e iPad con Objective-C


Piccolo snippet di codice per identificare la risoluzione in iPhone e iPad da codice.

Useremo tre oggetti: CGRect, CGFloat e CGSize.

Tutto ciò insieme a UIScreen, di sicuro l'elemento più importante dello snippet.

Mattepuffo
Permettere solo numeri in UITextField


L'esigenza nasce dal datto che nella schermata di registrazione che sto facendo per una app per iPad, devo permettere solo numeri.

Questo perchè il campo corrisponde a quello del numero di telefono.

Per farlo è necessario usare il metodo shouldChangeCharactersInRange; ma andiamo con ordine e partiamo dal file .h:

#import <UIKit/UIKit.h>

@interface ControllerPrivateReg : UIViewController <UITextFieldDelegate>

@property (strong, nonatomic) IBOutlet UITextField *txtTelephone;

@end

Dobbiamo implementare il protocollo UITextFieldDelegate, per il resto non ci serve altro che il riferimento alla nostra UITextField.

Mattepuffo
Usare le espressioni regolari in Objective-C


In questi giorni mi sono dato alla validazione di un form per una app su iPad.

I controlli erano più o meno i soliti: password, email, codice fiscale, ecc....

Per eseguire questi controlli mi sono creato una classe con dei metodi static da richiamare nel form.

Vi posto uno di questi metodi per vedere come usare le espressioni regolari in Objective-C.

Mattepuffo
Inviare richieste POST in Objective-C


Oggi vediamo come effettuare richieste POST a un file remoto e leggere la risposta con Objective-C (testao su iPhone e iPad).

E' un argomento di assoluta importanza nel mondo mobile, in quanto in molte app è richiesta l'interazione con un database.

Quindi il primo passo è creare dei file su server nel linguaggio che preferite (ad esempio PHP); nel mio caso specifico ho creato un file che mi serve per interogare il db e vedere se l'utente è registrato (lascio a voi la creazione del file lato server).

Nel file .h avremo una cosa del genere:

#import

@interface ControllerLogin : UIViewController {
    NSURLConnection *connection;
    NSMutableURLRequest *request;
    NSURL *url;
    NSMutableData *dataResponse;
    NSMutableString *strResponse;
}

@property (strong, nonatomic) IBOutlet UIButton *btnLogin;
@property (strong, nonatomic) IBOutlet UITextField *txtUser;
@property (strong, nonatomic) IBOutlet UITextField *txtPwd;

- (IBAction)doLogin:(id)sender;

@end

Il metodo doLogin si occuperà di iniziare tutto il processo.

Poi abbiamo diversi tipi di variabili da usare.

Vi posto il file di implementazione a pezzi, mettendo solo ciò che ci interessa.

Mattepuffo
Riempire UIPickerView da file di testo


Abbiamo visto come riempire le UIPickerView usando sia un NSArray sia usando un NSDictionary.

Abbiamo anche visto che leggere un file di testo.

A questo punto mettiamo tutto insieme: da un file di testo riempiamo l'NSDictionary che viene usato dal nostro UIPickerView.

Il file di testo sarà una cosa del genere:

s.c.c. a r.l.;Società Cooperativa Consortile a responsabilità limitata
S.p.A.;Società per Azioni
N.A.;National Association
Cons. a.e.;Consorzio con attività esterna
Cons.;Consorzio
S.c.r.l.;Società Cooperativa responsabilità limitata
soc. consort. n c.;Società Consortile in nome collettivo
coop. soc.;Cooperativa sociale
p. soc. coop.;Piccola Società Cooperativa
s.r.l. unico socio;Società a responsabilità limitata con unico socio
soc. coop. agricola;Società Cooperativa Agricola
S.p.A. Socio Unico;Società per Azioni con Socio Unico
s.r.l. unipersonale;Società unipersonale a responsabilità limitata
L.L.C.;Limited Liability Company
s.a.s.;Società in accomandita semplice
soc. coop. p.A. r.l.;Società cooperativa per Azioni a responsabilità limitata
Soc. Mutua Ass.;Società di Mutua Assicurazione
Cons. a gar. l.;Consorzio a garanzia limitata
Ente Morale;Ente Morale
GmbH;Geselschaft mit Beschränkter Haftung

In pratica ogni riga la spezziamo al punto e virgola e la parte di sinstra sarà la chiave, mentre quella di stra il valore visto sullo schermo.

Prima di tutto aggiungete il file al progetto.

Poi questo sarà il file .h:

#import <UIKit/UIKit.h>

@interface ControllerAziendaReg : UIViewController {    
    NSMutableDictionary *dictionaryForma;
    NSArray *splitArray;
    NSMutableArray *keysForma;
    NSMutableArray *objectsForma;
    NSString *fileTxt;
    NSString *textFromFile;
    UIActionSheet *sheetForma;
}

@property (retain, nonatomic) IBOutlet UIPickerView *pickerForma;

@end

Il file .m ve lo spezzo in modo da rendere più chiaro il tutto.