gpt4 book ai didi

objective-c - 操作无法完成。 ( cocoa 错误 : 3840.)

转载 作者:太空狗 更新时间:2023-10-30 03:33:23 26 4
gpt4 key购买 nike

我正在尝试为 ios 6 应用程序解析 JSON,但似乎无法让它工作。我搜索了大量的论坛,但没有找到有效的解决方案,我理解到足以实现或适用的解决方案。

如果我错过了一个,我深表歉意。

首先,我有一个据我所知返回有效 JSON 的测试 WebService

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 函数正在打印错误:“操作无法完成。(Cocoa 错误:3840。)”

我不明白为什么会这样。我已经尝试了各种各样的事情。

最佳答案

您正在将 %@&format=json&nojsoncallback=1 添加到 connectToService: 中的 URL,并且该新 URL 生成网页,而不是您期望的 JSON(即http://thetrouthunter.com/SVLocationsAPI.php&format=json&nojsoncallback=1 ).

记录 HTTP 请求的实际结果可能很有用,这样您就可以对其进行调试,直到获得 JSON(即在调用序列化函数之前)。

关于objective-c - 操作无法完成。 ( cocoa 错误 : 3840.),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15534289/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com