gpt4 book ai didi

ios - UIActivityIndi​​cator 在 NSFetchedResultsController 完成获取之前停止动画

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:34:38 26 4
gpt4 key购买 nike

我有一个通过 NSFetchedResultsController 发出的核心数据请求。此代码的预期结果是 UIActivityIndi​​cator 将调用 startAnimating,完成调用,然后返回表,然后指示器将“停止动画”。

实际发生的是函数在 NSFetchedResultsController 获取任何信息和/或重新填充 TableView 之前返回。stopAnimating 几乎立即被调用,然后才加载表。

我的代码如下:

[_loadingActivityIndicator startAnimating];

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"user"];
[fetchRequest setReturnsObjectsAsFaults:NO];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"connection.userId matches %@", [NSString stringWithFormat:@"%@",currentUser.userId ]];
fetchRequest.predicate = predicate;

fetchRequest.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"firstname" ascending:YES]];

self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:appDelegate.coreDataStack.managedObjectContext sectionNameKeyPath:nil cacheName:nil];

self.fetchedResultsController.delegate = self;

// Perform Fetch
NSError *error = nil;
[self.fetchedResultsController performFetch:&error];

if (error) {
NSLog(@"Unable to perform fetch.");
NSLog(@"%@, %@", error, error.localizedDescription);
}

[_loadingActivityIndicator stopAnimating];

我做错了什么?

最佳答案

您正在设置一个委托(delegate),它是在获取结果完成时调用的委托(delegate)。您需要将 stopAnimating 调用移至该委托(delegate)。

关于ios - UIActivityIndi​​cator 在 NSFetchedResultsController 完成获取之前停止动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41470437/

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