将NSArray元素分组为NSMutableDictionary

use*_*963 0 objective-c nsmutablearray ios

我有NSArray一些像以下格式的东西.

组数组是:

(
    "Q-1-A1",
    "Q-1-A9",
    "Q-2-A1",
    "Q-2-A5",
    "Q-3-A1",
    "Q-3-A8",
    "Q-4-A1",
    "Q-4-A4",
    "Q-10-A2",
    "Q-8-A2",
    "Q-9-A2",
    "Q-7-A1",
    "Q-5-A2"
)
Run Code Online (Sandbox Code Playgroud)

现在我要做的是将数组元素分组这样的东西.

1 = ( "Q-1-A1","Q-1-A9")
2 = ("Q-2-A1","Q-2-A5",) ...
10 =("Q-10-A2")
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我如何实现这一目标.

提前致谢.

Anu*_*das 6

尝试

NSArray *array = @[@"Q-1-A1",
                   @"Q-1-A9",
                   @"Q-2-A1",
                   @"Q-2-A5",
                   @"Q-3-A1",
                   @"Q-3-A8",
                   @"Q-4-A1",
                   @"Q-4-A4",
                   @"Q-10-A2",
                   @"Q-8-A2",
                   @"Q-9-A2",
                   @"Q-7-A1",
                   @"Q-5-A2"];

NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];

for (NSString *string in array) {

    NSArray *components = [string componentsSeparatedByString:@"-"];

    NSString *key = components[1];
    NSMutableArray *tempArray = dictionary[key];
    if (!tempArray) {
        tempArray = [NSMutableArray array];
    }
    [tempArray addObject:string];
    dictionary[key] = tempArray;
}
Run Code Online (Sandbox Code Playgroud)