與一個NSDictionary每個項目一個NSMutableArray是完全沒有問題。你可以對它進行排序。
NSMutableArray *rows = @[].mutableCopy;
[rows addObject:@{@"name": @"Bob", @"url": [NSURL URLWithString:@"http://bob.com"]}];
[rows addObject:@{@"name": @"Alice", @"url": [NSURL URLWithString:@"http://alice.net"]}];
NSLog(@"%@", rows);
[rows sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
return [[obj1 valueForKey:@"name"] compare:[obj2 valueForKey:@"name"] options:NSNumericSearch];
}];
NSLog(@"%@", rows);
輸出:
2013-07-20 00:33:31.682 MyApp[28496:303] (
{
name = Bob;
url = "http://bob.com";
},
{
name = Alice;
url = "http://alice.net";
}
)
2013-07-20 00:33:31.682 MyApp[28496:303] (
{
name = Alice;
url = "http://alice.net";
},
{
name = Bob;
url = "http://bob.com";
}
)
可以肯定的排序依據NS(可變)陣列。但大概你想排序的實體對只是名稱或只是網址。爲此,我可能將兩者放在字典中,將字典放在數組中,並使用「sortedArrayUsing ...」方法之一進行排序。 –