我正在格式化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的文档,但该网站似乎已关闭。
答案 0 :(得分:2)
您发布的代码或其他地方是否发生了此错误?在调试模式(Cmd-Y)下运行应用程序将允许您跟踪堆栈跟踪,以确切了解发生崩溃的位置。
也就是说,如果崩溃发生在您发布的内容中,则可能意味着已释放propertyKeys
或propertyValues
并且其指针现在是垃圾。当你到达程序的那一部分时,确保它们没有被释放或自动释放。
答案 1 :(得分:0)
您不小心为NSURL
或NSArray
分配了properyValues
而不是propertyKeys
。此时检查它们在调试器中的位置。
在许多情况下,编译器会在您执行此操作时发出警告。确保您的代码没有警告。在Objective-C中,警告几乎总是错误,永远不应该被忽略。