如何将uiviewcontroller转换为自定义类

时间:2016-07-14 05:03:15

标签: ios objective-c viewcontroller

我有一个自定义列表viewController

NSMutableArray *arrOfCtrls = [[NSMutableArray alloc] init];
AViewController *aCtrl = [[AViewController alloc] init];
BViewController *bCtrl = [[BViewController alloc] init];
CViewController *cCtrl = [[CViewController alloc] init];
DViewController *dCtrl = [[DViewController alloc] init];
[arrOfCtrls addObject: aCtrl];
[arrOfCtrls addObject: bCtrl];
[arrOfCtrls addObject: cCtrl];
[arrOfCtrls addObject: dCtrl];

然后,我想在列表 arrOfCtrls

中获取UIViewController
UIViewController *vCtrl = arrOfCtrls[0];

如何投射vCtrl是AViewController? 我想在vCtrl中获取属性,例如我想在AViewController中获取aProperties

vCtrl.aProperties

谢谢!

1 个答案:

答案 0 :(得分:3)

如果您知道第一个对象是AViewController的类型,那么您可以使用此

进行直接投射
AViewController *aVC = (AViewController*)arrOfCtrls[0];

如果您不知道并想要像这样投票

AViewController *aVC; 
if ([arrOfCtrls[0] isKindOfClass:[AViewController class]]) { 
    aVC = arrOfCtrls[0];
}