gpt4 book ai didi

iOS:使用 performSelectorInBackground 发送同步请求

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:53:29 27 4
gpt4 key购买 nike

我需要对某个网址进行多次 https 调用。因此我做了这样的事情

//ViewController Source
-(IBAction) updateButton_tapped {
[self performSelectorInBackground:@selector(updateStuff) withObject:nil];
}


-(void) updateStuff {
// do other stuff here...
NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:self.url]];
[request setHTTPMethod:@"POST"];

NSData *postData = [[Base64 encodeBase64WithData:payload] dataUsingEncoding:NSASCIIStringEncoding];
[request setHTTPBody:postData];

NSURLResponse* response = [[NSURLResponse alloc] init];
NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];

//Process the recieved data...

//Setup another synchronous request
data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];

//Process data

//do this another 4 times (note for loop cannot be use in my case ;) )

//Finally update some view controllers
[[NSNotificationCenter defaultCenter] postNotificationName:@"NotificationIdentifier" object:self];
}

所以这段代码的问题是它随机崩溃(不总是但经常)。我在日志中没有得到调试输出。有时我的整个应用程序会卡住,或者只是让整个程序崩溃。但是如果我在主线程上运行它,它永远不会崩溃。因此,我认为该代码是正确的,并且现在我想它与 iphone 上的线程有关。

以这种方式运行代码会发生什么问题,什么可能会导致随机崩溃?

最佳答案

内存管理,您不会在分配后释放您的请求或响应对象。

关于iOS:使用 performSelectorInBackground 发送同步请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9264699/

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