gpt4 book ai didi

ios - 使用 NSFetchRequest (CoreData) 填充数组

转载 作者:行者123 更新时间:2023-12-01 17:24:09 24 4
gpt4 key购买 nike

我为 iPad 创建了一个项目,它使用 Apple 的 "Use CoreData"模板。

我定制了几件事,例如对象的名称,但系统保持不变。

Apple 使用 MasterViewController.h这是一个 UITableViewControllerDetailViewController.h这是一个简单的UIViewController .一旦您选择了 UITableView 中的一个对象,在 MasterViewController.h它将其属性赋予 DetailViewController .

现在的问题:

我创建了第三个 View Controller ,名为 ResultsViewController.h它应该显示所有数据(对象的属性)。

我想使用一个或多个 NSArray(s) ,它应该包含我所有的数据(不仅仅是选定的,而是 所有 。因此,如果您创建了 5 个对象,则希望有 5 次 NSArray )。

(1) 如何获取 xcoredatamodel 的值能够在 ResultsViewController 中访问它们?发送获取请求对我不起作用?

(2) 如何确定我在UITableView 中创建了多少个对象? (MasterViewController.h)?

核心数据结构:

很简单,一个实体,几个属性,就是这样!

非常感谢!

最佳答案

首先:您不应该将所有数据放入数组中。一旦数据量增加,这将导致内存问题。核心数据实际上旨在非常有效地获取您需要的数据,而无需维护昂贵的并行数据结构。

所以首选的方法是通过相同的NSManagedObjectContextResultsViewController并让它根据需要获取自己的数据。

但是,如果您真的想获取所有数据,这很简单。

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"EntityName"
inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
NSError *error = nil;
NSArray *fetchedObjects = [self.managedObjectContext
executeFetchRequest:fetchRequest error:&error];
[fetchRequest release];

数组 fetchedObjects现在包含您的所有数据。您可以以通常的方式访问属性(例如,使用点表示法或 KVC)。

关于ios - 使用 NSFetchRequest (CoreData) 填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8192902/

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