Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何利用实体关系获取数组的计数差_Ios_Arrays_Uitableview_Core Data - Fatal编程技术网

Ios 如何利用实体关系获取数组的计数差

Ios 如何利用实体关系获取数组的计数差,ios,arrays,uitableview,core-data,Ios,Arrays,Uitableview,Core Data,假设我有一个数据模型,其中实体是Department,角色是relationshipDepartment>Role。在我的UI中,我当前显示部门1,并在表格视图列表中显示其他部门(例如部门2、部门3…) 我试图得到一组数组:每个部门每个角色一个数组。我可以通过fetchrequest和predicate按显示的department1获取角色数组,但无法确定如何为tableview中的每个部门获取角色数组。非常感谢您的帮助 首先,您不需要数组。核心数据最好由NSFetchedResultsCont

假设我有一个数据模型,其中实体是Department,角色是relationship
Department>Role
。在我的UI中,我当前显示部门1,并在表格视图列表中显示其他部门(例如部门2、部门3…)


我试图得到一组数组:每个部门每个角色一个数组。我可以通过fetchrequest和predicate按显示的department1获取角色数组,但无法确定如何为tableview中的每个部门获取角色数组。非常感谢您的帮助

首先,您不需要数组。核心数据最好由
NSFetchedResultsController管理-这在表视图中最有效。而且,您很可能不需要任何获取请求

要获得部门中的所有角色,只需调用您的关系名称:

department1.roles
结果是一个未排序的
NSSet
。你可以按这样的字母顺序来订购

department1.roles.sortedArrayUsingSortDescriptors(
 [NSSortDescriptor(key: "name" ascending: true)]
)
如果要在表部分中显示部门,在行中显示角色,可以使用
NSFetchedResultsController
获取
角色
实体,该实体指定指示部门(例如名称)的
sectionNameKeyPath