动态选择变量

时间:2013-05-29 16:12:24

标签: ios objective-c

您好,谢谢您的时间。我是IOS / Objective C的新手。

我在viewcontroller的顶部全局设置了多个变量。

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

现在当有人在tableview中选择一个单元格时,我想使用该单元格的名称来选择一个全局变量。我发现了一些用viewcontrollers来做这件事,但我也需要一些misc变量。我正在努力:

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.
??         

}

提前感谢您提供任何帮助,如果有人问过我很抱歉,但我找不到任何有用的东西,作为最后的手段我求助:)

1 个答案:

答案 0 :(得分: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];
....