最佳答案
有没有一种方法可以在 Objective-c 中强制转换对象,就像在 VB.NET 中强制转换对象一样?
例如,我正在尝试做以下事情:
// create the view controller for the selected item
FieldEditViewController *myEditController;
switch (selectedItemTypeID) {
case 3:
myEditController = [[SelectionListViewController alloc] init];
myEditController.list = listOfItems;
break;
case 4:
// set myEditController to a diff view controller
break;
}
// load the view
[self.navigationController pushViewController:myEditController animated:YES];
[myEditController release];
然而,我得到了一个编译器错误,因为‘ list’属性存在于 SelectionListViewController 类中,但不存在于 FieldEditViewController 中,即使 SelectionListViewController 继承自 FieldEditViewController。
这是有道理的,但是有没有一种方法可以将 myEditController 强制转换为 SelectionListViewController,这样我就可以访问“ list”属性了?
例如,在 VB.NET 中,我会这样做:
CType(myEditController, SelectionListViewController).list = listOfItems
谢谢你的帮助!