如何使用NSDictionary
并将我的字符串数组映射到每个UIViewController
类,然后使用objectForKey
并为每个键获取正确的视图控制器?
我正在尝试将我的数组中的每个项目推送到自己的视图控制器。
我的数组是:
NSArray *Cities:@["New York", "Chicago", "Miami"];
我希望商品@"New York"
推送到NewYorkViewcontroller
和@"Chicago"
推送到chicagoviewvontroller
等。
答案 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];