Arezki SID ALI

Bienvenue sur mon blog

 

Au tour des UIWebview

1. Transformer des données vers des liens 

Depuis l’IOS3, on peut transformer un certain type de données en liens en utilisant la propriété dataDetectorTypes.

Voici la liste exhaustive des constantes qu’on peut passer

- UIDataDetectorTypePhoneNumber   
- UIDataDetectorTypeLink          
- UIDataDetectorTypeAddress       
- UIDataDetectorTypeCalendarEvent 
- UIDataDetectorTypeNone          
- UIDataDetectorTypeAll

Vous remarquez que y’a une constante  UIDataDetectorTypeNone, ça permet de désactiver tous les liens dans la webview

Dans : Non classé
Par arezkisidali
Le 20 mars, 2014
A 18:32
Commentaires : 0
 
 

NSRange et NSString

NSRange est une structure C definit comme suit :

typedef struct _NSRange 
{
  NSUInteger location;
  NSUInteger length;
} NSRange;

le NSRange permet notamment d'extraire une partie d'une chaine de caractere à partir d'une autre chaine de caractere, en specifiant l'index de départ (location) et sa taille (legth)

definir un NSRange
1.    NSRange range = NSMakeRange (25, 3);
2.    NSRange range = {25, 3};

recuperer un NSString en utilisant un NSRange
NSString *homebrew = @"Imperial India Pale Ale";
NSRange range = NSMakeRange (9, 5);
NSLog (@"%@", [homebrew substringWithRange:range]);

résultat    India

recuperer un NSRange en à paritr d'un NSString
NSString *homebrew = @"Imperial India Pale Ale";
NSRange range = [homebrew rangeOfString:@"ia"];
    
range ici est egal {5, 2}
Dans : NSRange,NSString
Par arezkisidali
Le 31 juillet, 2012
A 18:02
Commentaires : 0
 
 

les bonnes pratiques de programmation

1. Commenter et documenter le code

2. Indenter le code

3. Eviter les commentaires évidents

4. Faire des blocs logiques de code

5. Adopter un modèle de nommage uniforme

6.Respecter le principe DRY (Don’t Repeat Yourself)

7. Eviter les imbrications

8. Limter la taille des lignes (80 caractères  à peu prés)

9. Organisation du projet en dossiers et fichiers

10.Respecter un cohérence pour les noms de variables temporaires

11. Utiliser des majuscules pour les mots clés SQL

12. Séparer les données du code

13.Re factoriser  le code

Dans : Non classé
Par arezkisidali
Le 31 mai, 2012
A 22:26
Commentaires : 0
 
 

Tutoriel : disponibilité du réseau

Voici un tutoriel qui nous permettra de tester la disponibilité du réseau dans une applications sous iOS

1- Ajouter le framework SystemConfiguration
2- Télécharger le projet Reachability sur http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html

3- Ajouter la classe Reachability (Reachability.h et Reachability.m) à  votre projet

4- Ajouter les deux lignes du code suivantes dans la classe (.m) ou on veut tester la disponibilité du réseau

#import netinet/in.h
#import SystemConfiguration/SystemConfiguration.h

-5- Ajouter la méthode suivante du code suivante dans la classe (.m)ou on veut tester la disponibilité du réseau
- (BOOL)internetIsAvailable {
struct sockaddr_in zeroAddress;
bzero(&zeroAddress, sizeof(zeroAddress));
zeroAddress.sin_len = sizeof(zeroAddress);
zeroAddress.sin_family = AF_INET;

SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress);
SCNetworkReachabilityFlags flags;

BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);
CFRelease(defaultRouteReachability);

if (!didRetrieveFlags)
return NO;

BOOL isReachable = flags & kSCNetworkFlagsReachable;
BOOL needsConnection = flags & kSCNetworkFlagsConnectionRequired;
return (isReachable && !needsConnection) ? YES : NO;
}

6- en fait, on ajoute ces lignes pour faire le test


if ([self internetIsAvailable])
{
// effectuer le traitement nécessaire
}
else
{
//afficher une alerte pas exemple
}

Dans : Non classé
Par arezkisidali
Le 29 novembre, 2011
A 17:28
Commentaires : 0
 
 

UDID a partir de l’ios 5

a partir de l’ios 5, on ne peut plus utiliser l’UDID (pour les développeurs, mais ça reste accessible pour les utilisateurs ou encore pour générer un provisioning )

Apple recommande d’utiliser une fonction qui permet de générer un identifiant unique.

UDID  a partir de l'ios 5 dans iOS 5 1314004131igpicfinal

et pour pouvoir l’utiliser tout au long de la vie de l’application sur l’os devise, il est conseillé de le sauvegarder avec un NSUserDefault

Dans : iOS 5,ipad,iphone,ipod touch,objective C,UDID
Par arezkisidali
Le 27 octobre, 2011
A 18:27
Commentaires : 0
 
 

iOS 5 : les nouveutés (partie 3)

Amélioration au niveau du design de l’application

1. Gestion des données : introduction des classes UIDocument et UIManagedDocument
2. Ameliorations de protection des données.
3. Customiser l’apparence des éléments de l’interface
4. Introduction de conteneur de viewController
5. Introduction de nouveaux éléments de parametrage de l’application

Dans : iOS 5
Par arezkisidali
Le 21 octobre, 2011
A 15:09
Commentaires : 0
 
 

iOS 5 : les nouveutés (partie 2)

Nouveaux frameworks

1 . GLKit Framework
2 . Core Image Framework
3 . Twitter Framework
4 . Accounts Framework
5 . Generic Security Services Framework
6 . Core Bluetooth

Dans : iOS 5,ipad,iphone,ipod touch,objective C
Par arezkisidali
Le 19 octobre, 2011
A 17:07
Commentaires : 0
 
 

iOS 5 : les nouveutés (partie 1)

Automatic Reference Counting (ARC): c’est une nouvelle fonctionnalité de haut niveau introduite depuis l’IOS 5, elle permet de simplifier la gestion du cycle de vie des objets.

ARC repose sur un principe simple qui consiste à évaluer les exigences du cycle du vi de notre objet et d’insérer les méthodes appropriées au moment de la compilation

A noter qu’en terme de performance, l’ARC permet d’avoir des performances égales ou supérieures à celles d’une gestion manuelle de la memoire et carrément supérieures celles du garbadge collector (un processus qui s’exécute pour libérer de la mémoire)

Pour utiliser cette fonctionnalité, un ensemble de règles doit être respecté:

1. ne pas appeler les méthodes « retain », « release », « autorelease », « dealloc ».
Aussi, on ne peut pas customiser les méthodes « retain » et « release ».
2. ne pas stocker des pointeurs vers des objets dans des structures C.
on doit stocker les pointeurs vers les objets dans d’autres objets au lieu des structures
3. na pas caster entre des types objets et des types non objet.
4. on ne peut pas utiliser les objets « NSAutoreleasePool ». à la place on utilise un nouveau mot clé @autoreleasepool pour déclarer un nouveau bloc d’autorelease

Exemple:
@autoreleasepool {
…….
…….
}

les mots -clés « retain » et « assign » sont remplacés respectivement par les mots-clés « strong » et « weak ».

NB: pour l’instant, l’ARC est une option. on peut toujours utiliser une gestion manuelle de la mémoire.

Dans : arc,automatic reference counting,iOS 5,ipad,iphone,ipod touch,objective C
Par arezkisidali
Le 18 octobre, 2011
A 14:08
Commentaires : 0
 
 

modifier la couleur de sélection d’une cellule d’une tableView


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"CellId";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
UIView *backgroundView = [[[UIView alloc] init] autorelease];
backgroundView.backgroundColor = [UIColor redColor];
cell.selectedBackgroundView = backgroundView;
}
// Set up the cell...
......
return cell;
}

Dans : ipad,iphone,ipod touch,objective C,selection,UITableView,UITableViewCell
Par arezkisidali
Le 25 août, 2011
A 18:34
Commentaires :1
 
 

une astuce pour customiser un UIButton avec une tintColor

UISegmentedControl *backBtn = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:NSLocalizedString(@"Retour", @""), nil]];
[backBtn setFrame:CGRectMake(0, 0, 60, 30)];
backBtn.momentary = YES;
backBtn.segmentedControlStyle = UISegmentedControlStyleBar;
backBtn.tintColor = [UIColor colorWithRed:176/255.0 green:0/255.0 blue:0/255.0 alpha:1.0];
[backBtn addTarget:self action:@selector(goBack) forControlEvents:UIControlEventValueChanged];

Dans : Non classé
Par arezkisidali
Le 23 août, 2011
A 11:37
Commentaires : 0
 
1234
 
 

salwitchaa |
Sarl JOUFFROY Conseils et v... |
Forum de la team VDK! |
Unblog.fr | Créer un blog | Annuaire | Signaler un abus | Le blog des geeks
| Applications pour iphone
| cabinet de developpement lo...