我有一个要用作排序顺序的字符串NSArray
:
NSArray *permissionTypes = [NSArray arrayWithObjects:@"Read", @"Write", @"Admin", nil];
然后,我有一个
NSMutableArray
,它可能具有或不具有所有三种权限类型,但是有时它只会是2,有时是1,但是我仍然希望根据我的permissionsTypes
数组对它进行排序。NSMutableArray *order = [NSMutableArray arrayWithArray:[permissions allKeys]];
如何始终使用
order
数组作为键,根据我的permissionTypes
数组正确排序?
最佳答案
我将通过创建一个结构或一个对象来保存权限类型来解决这个问题。
那你就可以...
PermissionType
--------------
Name: Read
Order: 1
PermissionType
--------------
Name: Write
Order: 2
等等。
然后,您只需要这些对象的实际数组即可按订单值排序。
[array sortUsingComparator:^NSComparisonResult(PermissionType *obj1, PermissionType *obj2) {
return [obj1.order compare:obj2.order];
}];
这将通过order字段对数组进行排序。
关于objective-c - 根据来自另一个NSArray的字符串对NSMutableArray进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13679964/