如何使用NSDictionary并将我的字符串数组映射到每个UIViewController类

时间:2013-10-01 15:44:16

标签: ios objective-c uitableview

如何使用NSDictionary并将我的字符串数组映射到每个UIViewController类,然后使用objectForKey并为每个键获取正确的视图控制器?

我正在尝试将我的数组中的每个项目推送到自己的视图控制器。

我的数组是:

NSArray *Cities:@["New York", "Chicago", "Miami"];

我希望商品@"New York"推送到NewYorkViewcontroller@"Chicago"推送到chicagoviewvontroller等。

4 个答案:

答案 0 :(得分:1)

您可以考虑为每个项目设置不同的segue,并在词典中存储segue标识符。

然而,如果您有多个项目,这将很快失控,在这种情况下,您最好使用自定义设置方法的通用视图控制器而不是这样做。

答案 1 :(得分:0)

NSDictionary* mapping = @{"New York”: [NewYorkViewController class], … };

NSString* chosenCity;

Class vcClass = mapping[chosenCity];

UIViewController* vc = [[vcClass alloc] init];

答案 2 :(得分:0)

你可以使用

@[@{@"title":@"New York",@"vc_class":[NewYorkViewController class]}, …];

答案 3 :(得分:0)

的伪代码:

NSDictionary * myDictionary = [NSDictionary dictionaryWithObjects: newYorkViewController, chicagoviewcontroller forKeys: Cities[0], Cities[1]];

[self pushViewController: [myDictionary objectForKey:@"New York"] animated:YES];