我已经开发了一个用于滑动 UIView 的通用控制器,并且我管理 UIViewController (显然是子类)并且只有当 UIViewController 的子类响应此方法时才必须调用特定方法(冻结):
-(void)freezeRootViewController
{
if([_rootViewController respondsToSelector:@selector(freeze)])
[ ((id) _rootViewController) freeze];
}
我不知道 _rootViewController 的类,但我知道它是 UIViewController 的子类,因此我尝试将我的 _rootViewController 转换为 ID,但我无法编译:
环境:XCode 4.5.1,带 ARC 的 iOs 4.3+
错误:“不知道选择器‘冻结’的实例方法”
注意:我不能强制开发人员为 _rootViewController 使用特定的 UIViewController 子类。