Ios 使用相同的重新排序对多个NSArray对象进行排序 我有几个 NSArray < /Cord>对象,这些对象有效地表示可能考虑数据库表的内容。我想对其中一个进行排序,并让所有其他的按相同的顺序进行排序
例如,为“姓名”、“地址”和“电话号码”设置Ios 使用相同的重新排序对多个NSArray对象进行排序 我有几个 NSArray < /Cord>对象,这些对象有效地表示可能考虑数据库表的内容。我想对其中一个进行排序,并让所有其他的按相同的顺序进行排序,ios,sqlite,sorting,nsarray,Ios,Sqlite,Sorting,Nsarray,例如,为“姓名”、“地址”和“电话号码”设置NSArray对象,并按名称对它们进行排序 当前的方法是一个自定义shell排序例程,它只对“name”进行比较,但在所有受影响的数组上移动数据。这是有效的,而且相对干净。当然,由于NSObjectsvsC数组的开销,您会受到影响 有没有一种更快、更干净、更“iOS”的方法可以做到这一点 将所有数据都放到SQLite表中,然后这样做?一种干净的方法是将数据存储在NSDictionary对象的单个NSArray中。然后可以按如下方式对数组进行排序: NS
NSArray
对象,并按名称对它们进行排序
当前的方法是一个自定义shell排序例程,它只对“name”进行比较,但在所有受影响的数组上移动数据。这是有效的,而且相对干净。当然,由于NSObjectsvsC数组的开销,您会受到影响
有没有一种更快、更干净、更“iOS”的方法可以做到这一点
将所有数据都放到SQLite表中,然后这样做?一种干净的方法是将数据存储在
NSDictionary
对象的单个NSArray
中。然后可以按如下方式对数组进行排序:
NSSortDescriptor *sortName = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
NSArray *sortedArray = [originalArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortName]]
我能想到的唯一其他方法是:
- 创建索引,即包含数字0、1、…、N-1的数组
- 根据
数组的内容对索引进行排序name
- 对于每个数组,基于原始数组和排序索引创建一个排序数组
NSDictionary
对象的单个NSArray
中。然后可以按如下方式对数组进行排序:
NSSortDescriptor *sortName = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
NSArray *sortedArray = [originalArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortName]]
我能想到的唯一其他方法是:
- 创建索引,即包含数字0、1、…、N-1的数组
- 根据
数组的内容对索引进行排序name
- 对于每个数组,基于原始数组和排序索引创建一个排序数组