2010-10-13 6 views
0

lorsque j'essaie de faire correspondre l'expression régulière pour les données. Sometime application se bloque avec l'erreurcomment gérer erreur dans NSPredicate

voici la description d'erreur

'Ne peut pas faire matching regex, motif: Ne peut pas motif ouvert U_REGEX_INVALID_RANGE (string ertyu, motif [aZ], cas 0, canon 0)'

ici est mon code

- (BOOL)isValidateString:(NSString *)inString ForRE:(NSString *)inRE { 
BOOL isValidate=NO; 
NSPredicate *thePredicate= [NSPredicate predicateWithFormat:@"SELF MATCHES %@", inRE]; 
isValidate= [thePredicate evaluateWithObject:inString]; 
return isValidate; 

}

et dans cette méthode RE est d'obtenir du serveur.

Répondre

1

[a-Z] est une plage non valide car Z est antérieure à a en Unicode. Si vous voulez faire correspondre tous les alphabets, rendez le serveur [a-zA-Z].

+0

merci kenny. kenny existe-t-il une solution ou une API pour connaître les ER invalides avant d'appeler NSPredicate? – iOSPawan

+0

@pawan: Vous pouvez utiliser [gestion des exceptions] (http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/ObjectiveC/ Articles/ocExceptionHandling.html). – kennytm

Questions connexes