gpt4 book ai didi

iOS 应用程序在解析异步查询期间卡住

转载 作者:行者123 更新时间:2023-11-29 10:34:24 24 4
gpt4 key购买 nike

我正在使用后台异步调用向 Parse 查询某些对象。但是,在进行查询时,应用程序会卡住。我无法与之互动。一旦查询完成并加载了对象,应用程序就会跟上。据我了解,应用程序应该在查询期间响应,因为它是后台异步任务。

例如,当应用程序加载查询开始时 -> 如果我在查询过程中按下导航栏上的返回键,什么也不会发生 -> 查询完成并且我的对象出现 -> 应用程序弹出到根 Controller 以响应早期的接触

应用在查询后没有被卡住。它 react 正常。我不确定问题是出在我的查询位置上,还是手机在解析时变慢了,或者是什么原因。任何帮助将不胜感激!!

相关代码:

-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];

//Loads the users to be rated
[self loadNewUsersAndAd];
}

-(void)loadNewUsersAndAd{
self.usersQuery = [PFQuery queryWithClassName:@"UserObjects"];
[self.usersQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
self.queryingForUsers = YES;
if (error) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Sorry!" message:@"It looks like we couldn't update your current games! Make sure you're connected to the internet." delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alertView show];
self.queryingForUsers = NO;
}
else
{
//The query was successful
self.usersArray = objects;
[self loadNewImages];
self.queryingForUsers = NO;

}

}];



}

最佳答案

您不应该从后台线程更新 UI 元素。确保您的 loadNewImages 被分派(dispatch)到主队列 -

 self.usersArray = objects;
dispatch_async(dispatch_get_main_queue(), ^{
[self loadNewImages];
self.queryingForUsers = NO;
});

关于iOS 应用程序在解析异步查询期间卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27851492/

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