Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何在不崩溃的情况下连续获取Http响应?_Iphone_Ios_Objective C_Asiformdatarequest - Fatal编程技术网

Iphone 如何在不崩溃的情况下连续获取Http响应?

Iphone 如何在不崩溃的情况下连续获取Http响应?,iphone,ios,objective-c,asiformdatarequest,Iphone,Ios,Objective C,Asiformdatarequest,我使用以下代码以5秒的间隔连续调用API: NSURL *url=[NSURL URLWithString:@"any url"]; ASIFormDataRequest *request=[[ASIFormDataRequest alloc] initWithURL:url]; [request setRequestMethod:@"POST"]; [request setDelegate:self]; [request addRequestHeader:@"Accept" value:@

我使用以下代码以5秒的间隔连续调用API:

NSURL *url=[NSURL URLWithString:@"any url"];

ASIFormDataRequest *request=[[ASIFormDataRequest alloc] initWithURL:url];

[request setRequestMethod:@"POST"];
[request setDelegate:self];
[request addRequestHeader:@"Accept" value:@"application/json"];
    [request addPostValue:app.userName forKey:@"username"];
[request addPostValue:app.token forKey:@"token"];
    [request setTimeOutSeconds:40];
[request startSynchronous];
    NSError *error = [request error];
if (!error)
{ //sucesss
    } "

我遇到的问题是,大约15-20分钟后,应用程序因错误访问而崩溃。我启用了僵尸对象,但在控制台上没有收到任何消息。我做错了什么,或者你能告诉我一种连续调用api的标准方法吗?谢谢。

您检查过应用程序的内存使用情况吗?您每5秒调用一次的方式是否可能意味着您正在alloc initing的对象没有被释放,所以您的内存不足?我猜你在用NSTimer

(另一个注意事项是,为什么要在同步调用中使用委托?如果在释放前不取消设置,有时可能会出现奇怪的错误。)

就标准方法而言,我唯一建议您在后台线程上执行此操作,然后使用通知更新UI


另外,检查您的呼叫代码,就好像您每5秒呼叫一次一样,但如果超时40秒,您可能会将事情堆积起来一点(除非您在开始时停止计时器,然后在此代码结束时将其重置为5秒)。

Xcode的分析器将指出它检测到的任何错误。这应该是你的出发点。按Cmd-Shift-B在您的项目上运行分析器。@B我使用Cmd+Shift+B进行了分析,但没有显示任何内存问题。.感谢您的回复。.是的,我正在使用计时器。.以及如何检查应用程序的内存使用情况??请查看仪器。不要在Xcode的“产品”菜单上“运行”,而是尝试“配置文件”。Xcode可以让你在应用程序运行时直观地看到各种有用的调试信息。