2012-10-18 3 views
0

Lors de la saisie d'une nouvelle donnée dans mes données de base pour mon entité donnée, comment vérifier si l'entrée pour un attribut particulier est nulle? J'ai trois attribut nom, mail et mailedCustomer. ajouter des données comme suit:Données de base - Recherche de null - iOS

SalesPerson *data = (SalesPerson *)[NSEntityDescription   insertNewObjectForEntityForName:@"SalesPerson" inManagedObjectContext:self.managedObjectContext]; 
[data setName:name]; 
[data setEmail:userEmail]; 
NSLog(@" mailed personel%@",data.mailedCustomer); 
if([data.mailedCustomer != nil){ 
    NSLog(@"inside condition"); 
    [data setMailedCustomer:@"//"]; 
} 

Cela ne fonctionne pas pour moi. Im essayant d'ajouter des chaînes. Donc, quand j'entre pour la première fois j'ai besoin que cet attribut soit @ "//" puis ajoute d'autres appels.

NSLog(@" mailed personnel %@",data.mailedCustomer); 

ci-dessus NSLog me donne:

mailed personnel (null) 

Répondre

2

Si je reçois ce que vous voulez, votre instruction if est incorrecte. Vous vérifiez maintenant si ce n'est pas nul (ce qui signifie qu'il a une certaine valeur), puis vous le réinitialisez à //. Si vous voulez qu'il soit // puis ajouter des valeurs, vous devez vérifier si elle est nulle, puis réglez-le sur //:

if (!data.mailedCustomer) { 
    NSLog(@"inside condition"); 
    [data setMailedCustomer:@"//"]; 
} 
+0

C'était une question noobish mais u m'a sauvé des cheveux et temps. Merci :) – DesperateLearner

+0

extra '[' après '!' –

2
@interface NSObject (PE) 
- (BOOL) isNull:(NSObject*) object; 
- (BOOL) isNotNull:(NSObject*) object; 
@end 


@implementation NSObject (PE) 

- (BOOL) isNull:(NSObject*) object { 
    if (!object) 
     return YES; 
    else if (object == [NSNull null]) 
     return YES; 
    else if ([object isKindOfClass: [NSString class]]) { 
     return ([((NSString*)object) isEqualToString:@""] 
       || [((NSString*)object) isEqualToString:@"null"] 
       || [((NSString*)object) isEqualToString:@"<null>"]); 
    } 
    return NO; 
} 

- (BOOL) isNotNull:(NSObject*) object { 
    return ![self isNull:object]; 
} 

@end 
















if([self isNotNull:some object]) 
{ 
not null 
} 
else 
{ 
null 
} 
+1

Ce serait mieux si les méthodes statiques. Cela conduit à [NSObject isNotNull: object] (au lieu de [object isNotNull: object]). –