根据另一个可变数组的排序对可变数组进行排序?

时间:2015-08-13 19:31:30

标签: ios sorting nsmutablearray nsmutabledictionary

有没有办法可以根据我对另一个数组的字母排序对数组进行排序?对此的实际用途是尝试将数组与用户名关联到包含这些用户名的名称的数组。我有两个包含此信息的单独列表,我需要根据用户的名称按字母顺序对用户进行排序,但我也需要访问他们的用户名。所以为了做到这一点,我试图在表视图单元格中包含两个数据,只显示名称并隐藏用户名。

我无法将包含名称的数组反向排序到用户名,因为如果两个人具有相同的名称,则会导致许多问题。

我尝试使用NSMutableDictionary,但这不起作用。任何帮助都会非常有帮助!

2 个答案:

答案 0 :(得分:2)

  

我有两个包含此信息的单独列表

有你的问题。不要使用两个数据结构来存储一个对象的部分。

创建表示用户的模型对象,并包含标识符和名称。一切都很简单。整个对象很小:

@interface User
@property (nonatomic, readwrite, copy) NSString *identifier;
@property (nonatomic, readwrite, copy) NSString *name;
@end
@implementation
@end

按属性对对象进行排序很简单。

即使系统的其他部分没有使用此对象,我仍然 将其创建为"视图模型"对象只适用于此视图控制器。 (但最好将其视为常规模型对象并在整个系统中使用它。)

答案 1 :(得分:0)

我不确定你在这里问的是什么。

但是让我对此有所了解。假设您有按字母顺序排序的用户名数组。从那以后,为什么不用NSHastable创建<key,value>=<username,name>

假设您的用户名是唯一的,那么您也不会遇到两个名称相互冲突的问题。