gpt4 book ai didi

ios - fetchedResultsController 方法中的 NSPredicate 问题

转载 作者:行者123 更新时间:2023-11-29 13:48:36 26 4
gpt4 key购买 nike

我正在开发一个应用程序,让销售人员可以通过 iPhone 为他们的客户订购库存。

用户导航到客户并创建订单。出现一个空白的表格 View ,然后用户通过从 list 屏幕中选择项目来将项目添加到表格 View 。

当他们向订单添加项目时,导航 Controller 弹出 View 并再次显示订单 View 。用户应该只能看到该客户的订单。

我最初完全使用 sqlite 构建应用程序,我通过使用查询实现了这一点

SELECT PRODUCT FROM TRANSLINE WHERE CUSTOMERACCNO = ?

我现在已经转向核心数据,我需要实现相同的功能。我正在尝试使用 NSPredicate 在 fetchedResultsController 方法中实现此行为,但我似乎无法让它工作 - 我得到的只是一个空白屏幕。但是,当我不实现它时,我会收到ALL 订单,即每个客户的订单,而不仅仅是这个。

这是我的代码:

- (NSFetchedResultsController *)fetchedResultsController
{
if (__fetchedResultsController != nil) {
return __fetchedResultsController;
}

// Create the fetch request for the entity.
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
// Configure the Entity
NSEntityDescription *entity = [NSEntityDescription entityForName:@"TransLine" inManagedObjectContext:__managedObjectContext];
[fetchRequest setEntity:entity];

[fetchRequest setFetchBatchSize:20];

//Configure the predicate
[NSFetchedResultsController deleteCacheWithName:@"Root"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"customerAccountNo == %@", _customerAccountNo];
[fetchRequest setPredicate:predicate];

//Configure Sort Descriptors
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"PRODAC" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];


// nil for section name key path means "no sections".
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:__managedObjectContext sectionNameKeyPath:nil cacheName:@"Root"];
aFetchedResultsController.delegate = self;

self.fetchedResultsController = aFetchedResultsController;

[aFetchedResultsController release];
[fetchRequest release];
[sortDescriptor release];
[sortDescriptors release];

return __fetchedResultsController;
}

预先感谢您的所有帮助。

最佳答案

好吧,看来我很沮丧……事实上,我是个白痴。猜猜我忘了包括什么。

    NSError *error = nil;
if (![self.fetchedResultsController performFetch:&error])
{
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}

关于ios - fetchedResultsController 方法中的 NSPredicate 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6112246/

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