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.

Antworten auf die Frage(10)

Ihre Antwort auf die Frage