ios - 如何使用 NSArray 按字母顺序对 NSDictionary 中的值进行排序?

标签 ios objective-c sorting nsarray

我有一个 NSDictionary,它包含几个数组,其中有几个字符串。我想将每个数组下的所有字符串放在一个数组中。我怎样才能一次收到所有的字符串?我试过这个:

NSMutableArray *mutarr = [[NSMutableArray alloc] initWithObjects:[self.firstTableView allValues], nil];
NSArray *mySorted = [[NSArray alloc]init];
mySorted = [mutarr sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];

NSLog(@"First table view values: %@", mySorted);

注意:self.firsttableview 是一个像这样的 NSDictionary:

NSString *path = [[NSBundle mainBundle] pathForResource:@"firstTableView" ofType:@"plist"];

self.firstTableView = [NSDictionary dictionaryWithContentsOfFile:path];

效果:这在 NSLog 中为我提供了一个列表,但它不是按字母顺序排列的。

最佳答案

您正在使用一个对象初始化您的 mutarr,该对象是字典中 allValues 返回的数组。而是试试这个:

NSMutableArray* mutarr = [NSMutableArray array];

for (NSArray* array in self.firstTableView.allValues) {
    [mutarr addObjectsFromArray:array];
}

关于ios - 如何使用 NSArray 按字母顺序对 NSDictionary 中的值进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18283680/

相关文章:

ios - CustomTableCell 中的 UICollectionView

objective-c - 由于未捕获的异常 'NSInvalidArgumentException' 而终止应用程序,原因 : NSArrayM objectForKey

javascript - 按 3 个键排序 - Javascript

ios - react-native 应用程序在分发时崩溃

iOS 8 快速应用程序,内容不居中

ios - 从 Firestore 加载图像并将其保存到 Swift 中的缓存

sorting - 如何在ColdFusion中对结构数组进行排序

iphone - 如何将 subview 从其父 View 的父 View 带到顶部

ios - Xcode 7 Magical Record 单元测试失败

sorting - 通过分区查询的 row_number 索引提高性能