操作无法完成。 (可可错误:3840)(The Operation couldn't b

2019-07-22 05:04发布

我试图解析JSON为iOS 6的应用程序,但似乎无法得到它的工作。 我已经冲刷吨论坛,但还没有发现这样的作品,我才明白落实不够,或适用的解决方案。

我很抱歉,如果有一个,我错过了。

首先我有一个测试WebService的是,据我可以告诉返回有效的JSON

http://thetrouthunter.com/SVLocationsAPI.php

其次,这是我的Objective-C代码:

+ (NSDictionary *)connectToService:(NSString *)query
{
    NSError *error = nil;

    query = [NSString stringWithFormat:@"%@&format=json&nojsoncallback=1", query];
    query = [query stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    NSData *jsonData = [[NSString stringWithContentsOfURL:[NSURL URLWithString:query] encoding:NSUTF8StringEncoding error:nil] dataUsingEncoding:NSUTF8StringEncoding];

    NSDictionary *results = jsonData ? [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers|NSJSONReadingMutableLeaves error:&error] : nil;

    NSLog(@"locations: %@", results);

    if (error)
        NSLog(@"[%@ %@] JSON error: %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), error.localizedDescription);

    return results;
}

+ (NSArray *)userLocation {
    NSString *request = [NSString stringWithFormat:@"http://thetrouthunter.com/SVLocationsAPI.php"];
    return [[self connectToService:request] valueForKeyPath:@"locations.location"];
}

该LS的NSLog函数打印出错误:“该操作无法完成(可可错误:3840)。”

我想不通为什么是这样的情况。 我已经尝试了各种各样的事情。

Answer 1:

你加入%@&format=json&nojsoncallback=1在URL connectToService:并在网页中新网址的结果,而不是JSON你期望(即http://thetrouthunter.com/SVLocationsAPI.php&format=json&nojsoncallback=1 )。

这可能是有用的,以从HTTP请求记录实际的结果,这样就可以调试,直到你得到JSON(即调用序列化函数之前)。



文章来源: The Operation couldn't be completed. (Cocoa error: 3840.)