![](/img/trans.png)
[英]MOTIS Object Mapping, With NSDictionary with values NSArray how can I specify type of array elements?
[英]How can I alphabetically sort the values in my NSDictionary with an 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];
}
你的代碼意味着mutarr
是一個包含數組數組的數組,而不是一個字符串數組。 您應該循環遍歷字典中的數組值,並將每個項目中的項目添加到mutarr
以使其成為可以排序的字符串數組。
如果您的NSDictionary值是數組,那么您正在嘗試對數組進行排序而不是字符串。 嘗試創建一個for循環來迭代[self.firstTableView allValues],然后將該數組中的所有值添加到main以排序數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.