uniqueUnionOfObjects 更改数组的顺序

Kru*_*ala 1 arrays sorting objective-c nsmutablearray ios

以下是我的原始数组:

{
    FilePath = "Selfcare.jpg";
    ModuleId = 18;
    ModuleName = "Infant N Toddler";
    SkillLevelID = 59;
    SkillLevelName = "Self Care";
},
{
    FilePath = "Preschool.jpg";
    ModuleId = 18;
    ModuleName = "Infant N Toddler";
    SkillLevelID = 60;
    SkillLevelName = "Preschool Readiness";
},
{
    FilePath = "Learning_Primary.jpg";
    ModuleId = 22;
    ModuleName = Cognitive;
    SkillLevelID = 71;
    SkillLevelName = "Learning Readiness - Primary Skills";
},
{
    FilePath = "PreAcad_Primary.jpg";
    ModuleId = 22;
    ModuleName = Cognitive;
    SkillLevelID = 72;
    SkillLevelName = "Pre-Academics: Primary Skills";
}
Run Code Online (Sandbox Code Playgroud)

当我应用distinctUnionOfObjects时

NSArray *curriculums = [array valueForKeyPath:@"@distinctUnionOfObjects.ModuleName"];
Run Code Online (Sandbox Code Playgroud)

这改变了给我结果数组的顺序

<__NSArrayI>(
Cognitive,
Infant N Toddler
)
Run Code Online (Sandbox Code Playgroud)

它应该给

<__NSArrayI>(
    Infant N Toddler,
    Cognitive
    )
Run Code Online (Sandbox Code Playgroud)

按照原始数组顺序。

我如何限制此订单更改?

Bir*_*dra 5

请试试这个

NSArray *orderedSet = [[NSOrderedSet orderedSetWithArray:[people valueForKey:@"ModuleName"]] array];
Run Code Online (Sandbox Code Playgroud)