我有 Manager 对象和 Account 对象。 Manager 对象有一个属性 Account。
有一个 Manager 对象的 NSArray,它需要被 Account 唯一!
示例数组:
NSArray *managers = @[Manager1(has Account1), Manager2(has Account1), Manager3(has Account1), Manager4(has Acconut2), Manager5(has Account2)];
我需要一个只有 Manager1 和 Manager4 的 NSArray。
最佳答案
你需要的是 distinctUnionOfObjects
[managers valueForKeyPath:@"@distinctUnionOfObjects.Account"];
这是documentation
@distinctUnionOfObjects The @distinctUnionOfObjects operator returns an array containing the distinct objects in the property specified by the key path to the right of the operator.
以下示例返回删除了任何重复值的交易中交易的收款人属性值:
NSArray *payees = [transactions valueForKeyPath:@"@distinctUnionOfObjects.payee"];
生成的收款人数组包含以下字符串:Car Loan、General Cable、Animal Hospital、Green Power、Mortgage。
@unionOfObjects 操作符类似,但不会删除重复的对象。
关于ios - 过滤对象的 NSArray 以具有唯一的属性对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28921240/