- [NSURL objectAtIndex:]:无法识别的选择器发送到实例0x4e1d6d0 ASIHTTPRequest

时间:2011-06-03 15:43:54

标签: objective-c asihttprequest sigabrt

我正在格式化ASIHTTPRequest以将数组数据发送到服务器。我有一个键数组(propertyKeys)和一个信息数组(propertyValues),并创建了一个循环来设置post和key值。

for(int i = 0;i<13;i++){
    [request setPostValue:[propertyValues objectAtIndex:i] forKey:[propertyKeys objectAtIndex:i]];  
}

但是我收到以下错误:

 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSURL objectAtIndex:]: unrecognized selector sent to instance 0x4e1d6d0'

我试图查找AHIHTTPRequest的文档,但该网站似乎已关闭。

2 个答案:

答案 0 :(得分:2)

您发布的代码或其他地方是否发生了此错误?在调试模式(Cmd-Y)下运行应用程序将允许您跟踪堆栈跟踪,以确切了解发生崩溃的位置。

也就是说,如果崩溃发生在您发布的内容中,则可能意味着已释放propertyKeyspropertyValues并且其指针现在是垃圾。当你到达程序的那一部分时,确保它们没有被释放或自动释放。

答案 1 :(得分:0)

您不小心为NSURLNSArray分配了properyValues而不是propertyKeys。此时检查它们在调试器中的位置。

在许多情况下,编译器会在您执行此操作时发出警告。确保您的代码没有警告。在Objective-C中,警告几乎总是错误,永远不应该被忽略。