ich bekomme Web-Daten von. NET-Webserver mit NSMutableUrl Anfrage.NSInvalidArgumentException ', Grund:' - [__ NSPlaceholderDictionary initWithObjects: forKeys: Fehler
Ich erhalte die Daten mit Soap-Anfrage, nachdem ich in NSDirectory gespeichert habe, indem ich die Antwort mit NSXmlparsing analysiert habe.
mein Code
NSArray *keys = [NSArray arrayWithObjects:@"id", @"firstname", @"lastname",@"addr",@"state",@"country",@"email",@"phone", nil];
directory = [NSDictionary dictionaryWithObjects:resultData forKeys:keys];
[[NSUserDefaults standardUserDefaults] setObject:directory forKey:@"dictionaryKey"];
Es funktioniert gut, aber wenn überhaupt, wenn ich falsch eingeben wird es Ausnahme wie diese.
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSPlaceholderDictionary initWithObjects:forKeys:]: number of objects (0) not equal to number of keys (8)'
Ich erhalte Antwort vom Web-Server wie diese
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GenericAndroidMethodResponse xmlns="Mortgage"><GenericAndroidMethodResult><NewDataSet /></GenericAndroidMethodResult></GenericAndroidMethodResponse></soap:Body></soap:Envelope>
Und Anwendung beendet.
Aber wenn ich falsche Antwort bekam, wie kann ich erkennen, zu dieser Zeit muss ich eine Warnung anzeigen, aber nicht von der Anwendung beenden.
Wie kann ich das tun.
Ich denke meine Frage ist klar.
kann mir jeder pls helfen.
Vielen Dank im Voraus.