2013-03-04 21 views
8

Ich habe ein Problem beim Extrahieren von Daten aus einem Dictionary-Objekt. Count of the Dictionary wird als 1 angezeigt, aber der Wert, den es anzeigt, ist null. Ich möchte eine AlertView anzeigen, wenn keine Daten im Dictionary-Objekt vorhanden sind. Ich dachte daran, die AlertView anzuzeigen, wenn die Zählung '0' ist, aber es '1' zurückgibt.NSDictionary mit Nullwert

Ich extrahiere dieses Wörterbuchobjekt aus einem WebService mit JSON.

Dieser Code wurde verwendet, um den "My Data" -Wert in die Dictionary-Variablen Data zu bekommen.

Datas = (NSDictionary *) [details objectForKey:@"My Data"]; 

if ([Datas count] == 0) { 

//code for showing AlertView.... 

} 

Bitte helfen Sie mir eine UIAlertView anzuzeigen, wenn die Wörterbuch-Wert null ....

+0

setzen Sie die 'NSLog' für Details und Termine ... überprüfen, was es zurückgibt .... – Venkat

+0

Hallo Kalyan, könnten Sie ein bisschen mehr Code geben. Ich verstehe nicht, was Sie versuchen zu erreichen ... – JFS

+0

+1 für den Versuch mindestens etwas ... Warum werden ehrliche Fragen immer abgelehnt – JFS

Antwort

4
if ([[details objectForKey:@"My Data"] isEqual:[NSNull null]] || [[details objectForKey:@"My Data"] isEqualToString:@""]) { 
    UIAlertView *altTemp = [UIAlertView alloc]initWithTitle:@"Value Null" message:@"Your Message" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; 
    [altTemp show]; 
    [altTemp release]; 
} 
+1

Glauben Sie, dass Ihre Syntax in If-Anweisung korrekt ist? –

+0

jetzt, es ist richtig ?? @ PratyushaTerli Ich schreibe einfach die Antwort, die eine Idee geben, so überspringen Sie diesen Punkt so, aber danke :) –

+4

Warum test isEqUal: NULL? Wenn das wahr ist, wird es zu falsch auswerten und wird nicht funktionieren für nsnull –

35

NSDictionary und andere Sammlungen nicht nil Werte enthalten. Wenn NSDictionary eine null speichern muss, wird ein spezieller Wert [NSNull null] gespeichert.

Vergleichen Sie den Wert bei @"My Data" mit [NSNull null], um festzustellen, ob der entsprechende Wert null ist oder nicht.

+1

Gute Antwort! danke – why

+0

U rette meinen Tag! – jithin

6

Normalerweise werden Nullwerte in JSON zu geparst. Also sollte diese Bedingung für das sowie Null überprüfen: if((details[@"My Data"] == nil) || (details[@"My Data"] == [NSNull null]))