将NSMutableArray转换为具有相同顺序的NSSet

mae*_*j90 5 objective-c nsmutablearray nsset ios

我怎么能以编程方式做到这一点?

我被告知这是做到这一点的方式但是NSSet有不同的顺序.

NSSet *set = [NSSet setWithArray:theArray];
Run Code Online (Sandbox Code Playgroud)

任何的想法?

提前致谢.

rde*_*mar 11

如果你想要订单,你将不得不使用NSOrderedSet.

NSOrderedSet *set = [NSOrderedSet orderedSetWithArray:theArray];
Run Code Online (Sandbox Code Playgroud)

  • 是的,使用有序集的主要原因是条目将是唯一的(删除重复项),但您仍然会保留其余项的顺序. (4认同)
  • 还要确保这真的是你想要的.NSOrderedSet主要与CoreData一起使用,虽然它可以在其他地方使用,但通常NSArray可以正常工作.http://nshipster.com/nsorderedset/ (2认同)