1

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

我试图让我的数组中的每个项目都推送到它自己的视图控制器。

我的数组是:

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

我希望该项目@"New York"推向NewYorkViewcontroller@"Chicago"推向chicagoviewvontroller等。

4

4 回答 4

1

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

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

于 2013-10-01T15:46:39.710 回答
0

您可以使用

@[@{@"title":@"New York",@"vc_class":[NewYorkViewController class]}, …];
于 2013-10-01T15:48:28.973 回答
0
NSDictionary* mapping = @{"New York”: [NewYorkViewController class], … };

NSString* chosenCity;

Class vcClass = mapping[chosenCity];

UIViewController* vc = [[vcClass alloc] init];
于 2013-10-01T15:47:54.237 回答
0

伪代码:

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

[self pushViewController: [myDictionary objectForKey:@"New York"] animated:YES];
于 2013-10-01T15:51:21.037 回答