0

您好,感谢您的宝贵时间。我对 IOS/Objective C 相当陌生。

我在视图控制器的顶部全局设置了多个变量。

NSMutableArray * A;
NSMutableArray * B;
NSMutableArray * C;

现在,当有人在表格视图中选择一个单元格时,我想使用该单元格的名称来选择一个全局变量。我找到了用视图控制器来做这件事的东西,但我也需要一些东西来处理杂项变量。我指的是:

id myNewController = [[NSClassFromString(selected) alloc] init];
[[self navigationController] pushViewController:myNewController animated:YES];

所以它会是这样的:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Save text of the selected cell:
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
stringVariable = cell.textLabel.text;// value=A,B or C

// match string to array and load that array.
??         

}

在此先感谢您的帮助,如果有人问过这个问题,我很抱歉,但我找不到任何有用的东西,所以作为最后的手段,我寻求帮助:)

4

1 回答 1

1

您最好将数组存储为字典中的键,而不是单个字段。例如:

NSDictionary* dictionary;

dictionary = @{
    @"A": [[NSMutableArray alloc] init],
    @"B": [[NSMutableArray alloc] init],
    @"C": [[NSMutableArray alloc] init]
};

然后,当您的行被选中时,您可以按键查找数组:

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSString* key = cell.textLabel.text;// value=A,B or C

NSMutableArray* array = dictionary[key];
....
于 2013-05-29T16:17:15.647 回答