Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.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
Objective c NSSet:返回按每个对象的特定属性上的字符串列表排序的对象的NSArray?_Objective C_Ios_Nsarray_Nsset - Fatal编程技术网

Objective c NSSet:返回按每个对象的特定属性上的字符串列表排序的对象的NSArray?

Objective c NSSet:返回按每个对象的特定属性上的字符串列表排序的对象的NSArray?,objective-c,ios,nsarray,nsset,Objective C,Ios,Nsarray,Nsset,我有一组对象 集合中的每个对象都是MyObject的一个实例,其属性名为name 我有另一个名为nameIndexes的NSArray,它包含名称值 我希望有一个函数,它接受NSSet并返回一个排序数组,该数组使用name属性根据其在nameIndexes数组中的位置进行排序 编辑: 很抱歉我的误导,以下是一个示例: 我有一组MyObject可能顺序不同: MyObject1 {name:@"A"} MyObject2 {name:@"B"} MyObject3 {name:@"C"} 我

我有一组对象

集合中的每个对象都是MyObject的一个实例,其属性名为name

我有另一个名为nameIndexes的NSArray,它包含名称值

我希望有一个函数,它接受NSSet并返回一个排序数组,该数组使用name属性根据其在nameIndexes数组中的位置进行排序

编辑:

很抱歉我的误导,以下是一个示例:

我有一组MyObject可能顺序不同:

MyObject1 {name:@"A"}

MyObject2 {name:@"B"}

MyObject3 {name:@"C"}
我有另一个名称数组:

{"B", "A", "C"}
我想要一份下列文件:

{MyObject2, MyObject1, MyObject3}
不是100%确定你要问什么,但是这将对名称集进行排序,并将其转换为基于第二个数组中的名称索引排序的排序数组

编辑后

编辑。。。好的,你的编辑完全改变了这个问题。不管怎样,从编辑你可以做

NSArray *result = [[set allObjects] sortedArrayUsingDescriptors:[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:"name" ascending:YES]]];

这将获取集合并返回按对象的name属性按字母顺序排序的排序数组。

我不知道您在问什么。呃@robhasacamera,你的编辑已经改变了问题。@Fogmeister是的。这可能是hzxu的要求,但他不能确定。我将它回滚到原始版本,但仍然没有真正的意义。是的,但你改变了一个事实,即他有一个额外的数组,他想用它来对集合进行排序。@Fogmeister啊,我误读了其中的一部分。我的错误。我试图帮助澄清,因为我看到很多评论,人们都不100%确定被问到了什么。我猜我也有点困惑。嗨,我用一个例子更新了我的问题,你能看一下吗?我的第一个例子可以帮你做到这一点。+1:编辑了这么多次,你对问题的理解做得非常好。
NSArray *result = [[set allObjects] sortedArrayUsingDescriptors:[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:"name" ascending:YES]]];