Puis-je utiliser simplementComment puis-je tester un NSString pour être nul?
if(myString == nil)
Pour une raison quelconque une chaîne que je sais est nulle, omet cette déclaration.
Puis-je utiliser simplementComment puis-je tester un NSString pour être nul?
if(myString == nil)
Pour une raison quelconque une chaîne que je sais est nulle, omet cette déclaration.
Il semble que ma chaîne dans le débogueur rapportait que (null) mais qui était dû à la façon dont il était affecté, je l'ai fixé et maintenant il est assujetti comme nul. Cela a résolu mon problème.
Merci!
longueur Avis = 0 ne doit pas nécessairement dire qu'il est nul
NSString *test1 = @"";
NSString *test2 = nil;
Ils ne sont pas les mêmes. Bien que la longueur est 0.
Vous pouvez trouver more on objective C string here.
+ (BOOL) stringIsEmpty:(NSString *) aString {
if ((NSNull *) aString == [NSNull null]) {
return YES;
}
if (aString == nil) {
return YES;
} else if ([aString length] == 0) {
return YES;
} else {
aString = [aString stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
if ([aString length] == 0) {
return YES;
}
}
return NO;
}
+ (BOOL) stringIsEmpty:(NSString *) aString shouldCleanWhiteSpace:(BOOL)cleanWhileSpace {
if ((NSNull *) aString == [NSNull null]) {
return YES;
}
if (aString == nil) {
return YES;
} else if ([aString length] == 0) {
return YES;
}
if (cleanWhileSpace) {
aString = [aString stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
if ([aString length] == 0) {
return YES;
}
}
return NO;
}
vous pouvez vérifier votre chaîne obtenir en utilisant ce
if(myString==(id) [NSNull null] || [myString length]==0 || [myString isEqualToString:@""])
{
//String is null or bad response
}
j'ai rencontré ce problème aujourd'hui. Malgré l'attribution d'une chaîne pour être nul: NSString *str = nil;
, le test if (str == nil)
a retourné FALSE
! Changer le test à if (!str)
a fonctionné, cependant.
c'est comment, ne peut rien savoir sans le reste de votre code – robottobor