gpt4 book ai didi

ios - 核心数据获取结果 Controller 仅在设备上返回空

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

我编写了一个使用核心数据的应用程序,它在模拟器和设备上都运行良好。然后我为该项目创建了一个新的 git 分支,它在模拟器上完美运行,但在设备上却不起作用。

这是fetchedResultsController的代码

-(NSFetchedResultsController *)fetchedResultsController{
if (_fetchedResultsController != nil) {
NSLog(@"Fetched Controler : %@", _fetchedResultsController);
return _fetchedResultsController;
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Membership" inManagedObjectContext:managedObjectContext];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"userdata.email == %@", [[NSUserDefaults standardUserDefaults] stringForKey:@"email"]];
NSSortDescriptor *sort1 = [[NSSortDescriptor alloc]initWithKey:@"type" ascending:NO];
NSSortDescriptor *sort2 = [[NSSortDescriptor alloc]initWithKey:@"membership_name" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc]initWithObjects:sort1,sort2, nil];
[fetchRequest setEntity:entity];
[fetchRequest setPredicate:predicate];
[fetchRequest setSortDescriptors:sortDescriptors];

_fetchedResultsController = [[NSFetchedResultsController alloc]initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:@"type" cacheName:nil];
return _fetchedResultsController;
}

然后我获取 View 中的对象就会出现。

-(void)viewWillAppear:(BOOL)animated{
NSError *error;
[[self fetchedResultsController]performFetch:&error];
[self.tableView reloadData];
}

托管对象上下文appDelegate传递到登录 View ,然后从loginView传递到第二个 View 。在第二个 View 中我遇到了问题

我唯一能想到的是设备上的内存限制发生了一些事情,或者可能是并发问题?
如果创建了任何线程,我并不是故意这样做的。

最佳答案

看来你的谓词

NSPredicate *predicate = 
[NSPredicate predicateWithFormat:@"userdata.email == %@",
[[NSUserDefaults standardUserDefaults] stringForKey:@"email"]];

返回一个空集。记录此用户默认值,我相信这将被清除。

关于ios - 核心数据获取结果 Controller 仅在设备上返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16174488/

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