objective-c - 根据来自另一个NSArray的字符串对NSMutableArray进行排序

标签 objective-c ios nsmutablearray nsarray

我有一个要用作排序顺序的字符串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/

相关文章:

objective-c - 在 iPad UITextField 输入期间更改键盘类型?

ios - Swift,用代码设置两个导航栏的样式

objective-c - 如何对包含字典的数组进行排序?

ios - 使用 NSMutableArray of Arrays 查找最大数组

iphone - 以编程方式使用 iPhone 发送 PDU 格式的串联短信

objective-c - 停止 Xcode 自动为 Objective-C 头文件生成 Swift 接口(interface)

ios - 通用类型 JSON 模型

ios - 如何在选中自动布局的情况下使用 ScrollView 和 ContainerView

objective-c - 如何覆盖钛appcelerator中的tableview row rightImage?

ios - 如何根据键的值计算数组中的键总数