coredata – 获取一个属性到一个数组中
目标:我想从数据库(核心数据)中获取一个属性(从一个实体)的值到一个数组中。
例
实体名称=员工
属性= employeeID
我只想将所有employeeID填充到数组/集合中。
题
下面给出的是我的实现,我只是觉得它是一种方式,我想知道是否有更好的方法来做到这一点。
码
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Employees"]; fetchRequest.resultType = NSDictionaryResultType; [fetchRequest setPropertiesToFetch:[NSArray arrayWithObjects:@"employeeID", nil]]; NSError *error = nil; NSArray *results = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error]; NSMutableArray *employeeIDs = [NSMutableArray array]; for(id currentRecord in results) { [employeeIDs addObject:[currentRecord objectForKey:@"employeeID"]]; }
你可以避免最后的循环,
代替,
NSMutableArray *employeeIDs = [NSMutableArray array]; for(id currentRecord in results) { [employeeIDs addObject:[currentRecord objectForKey:@"employeeID"]]; }
尝试这个,
NSMutableArray *employeeIDs = [results valueForKey:@"employeeID"];
一种做法是 –
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Employees"]; fetchRequest.resultType = NSDictionaryResultType; NSError *error = nil; NSArray *results = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error]; NSMutableArray *employeeIDs = [results valueForKey:@"employeeID"];
- NSFetchedResultsController的快速部分
- 编写“CONTAINED_BY”文本查询的NSPredicate
- 在保持NSFetchedResultControllerfunction的同时保存单个CoreData实体(不是整个上下文)
- 如何使用可查询数组属性创build核心数据条目?
- 为什么这段代码引起“CoreData:error:(19)PRIMARY KEY必须是唯一的”错误?
- Xcode 8无法打开Model.xcdatamodeld
- 在Swift中控制器之间的Coredata对象
- UITableView删除/添加行导致CoreData:严重的应用程序错误,如果在SplitViewController的MasterView中select了另一个对象
- 核心datedate从dateselect器文本字段比较