gpt4 book ai didi

iphone - 按人员在公司中的角色对人员进行排序

转载 作者:行者123 更新时间:2023-12-03 21:11:04 28 4
gpt4 key购买 nike

我正在尝试找到一种好方法,根据人员在特定公司中的角色对人员进行分类。棘手的是,一个人可以在不同的公司担任一个或多个角色。

目前,我有一个“Person”对象数组,每个对象都有一个与其关联的“Roles”对象的 NSSet。

与此类似:

Person
-personId
-personName (NSString)
-personRoles (NSSet)

Role
-roleId (NSNumber)
-roleWeight (NSNumber)
-roleName (NSString)
-companyId (NSNumber)

我需要一些能够解决类似问题的代码:

按 Role.roleWeight 对人员数组进行排序,其中 Role.companyId = X

我一直在研究排序描述符,但它们似乎不足以解决这个挑战。欢迎提出任何建议。

最佳答案

你会想看看这个

How to sort an NSMutableArray with custom objects in it?

基本思想是,给定任意两个 Person 对象,您必须说出它们如何进行比较。是少一、多还是相同。

- (NSComparisonResult)compare:(id)otherObject {
// get the role for self
// get the role for other object
// compare their weights
// return the right result
}

要传递公司 ID,我认为您需要 sortUsingFunction:context: ,具有这样的功能

static int comparePersonsUsingCompanyID(id p1, id p2, void *context)
{
// cast context to a company id
// get the role for p1
// get the role for p2
// compare their weights
// return the right result
}

关于iphone - 按人员在公司中的角色对人员进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3302430/

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