Die Daten konnten nicht gelesen werden, da sie nicht das richtige Format haben
Ok, ich beginne jetzt mit der iOS-Entwicklung und spiele derzeit mit NSData unter Verwendung von Obj-C. Kürzlich verwende ich die URLSession: dataTask: didReceiveData-Methode, um NSData mit @ zu erhalteHTTP POST Anfrage. Der Server antwortet auf ein JSON-Objekt, das ein JSON-Array enthält.
Etwas Interessantes ist, dass der NSLog-Teil bei zu großen Antwortdaten Folgendes ausgibt: "Die Daten konnten nicht gelesen werden, da sie nicht im richtigen Format vorliegen".. Unten ist die Funktion:
-(void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveData:(NSData *)data {
NSError *error;
// get data from NSData into NSDict
NSDictionary *searchData = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error];
NSArray *test = [NSKeyedUnarchiver unarchiveObjectWithData:data];
NSMutableDictionary *mdict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
NSLog(@"what: %@", mdict);
NSLog(@"received data length: %@", [NSByteCountFormatter stringFromByteCount:data.length countStyle:NSByteCountFormatterCountStyleFile]);
if (error) {
NSLog(@"json error: %@", [error localizedDescription]);
}
}
Nur fragen, ob jemand den möglichen Grund für dieses Problem kennt?
[Aktualisieren
Nun, eine Alternative zur Lösung dieses Problems könnte die Verwendung von NSString zur Datenspeicherung sein. Müsste es aber selber analysieren. Ich würde allerdings lieber NSDictionary verwenden.