有时我会看到这样的示例代码:
RootViewController *rootViewController = (RootViewController *)[navigationController topViewController];
其中RootViewController
是继承自UITableViewController
的特定类,而对象navigationController
是类UINavigationController
的实例。
我想知道(RootviewController *)
之后的=
是什么。
在分配给指针*rootViewController
之前,这是对类型的测试,还是仅为编译器提供避免警告的信息?
答案 0 :(得分:1)
这是演员。
我只能说,[navigationController topViewController]
获得的对象不属于rootViewController
类型,如果没有“转化”,则无法将其分配给rootViewController
。
就像你这样做:
int32 nbr = (int32)myInt64;