1

Below is my original array :

{
    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";
}

when I apply distinctUnionOfObjects

NSArray *curriculums = [array valueForKeyPath:@"@distinctUnionOfObjects.ModuleName"];

this changes the order giving me resulting array

<__NSArrayI>(
Cognitive,
Infant N Toddler
)

It should give

<__NSArrayI>(
    Infant N Toddler,
    Cognitive
    )

as per original array order.

How do I restrict this order change?

Krutika Sonawala
  • 1,065
  • 1
  • 12
  • 30

1 Answers1

5

please try this one

NSArray *orderedSet = [[NSOrderedSet orderedSetWithArray:[people valueForKey:@"ModuleName"]] array];
vaibhav
  • 4,038
  • 1
  • 21
  • 51
Birendra
  • 623
  • 1
  • 5
  • 17