我想做这样的事情:
if (viewController.mapView) [viewController.mapView someMethod];
Run Code Online (Sandbox Code Playgroud)
但是,如果mapView不是类变量,则会崩溃.如何检查mapView是否存在?
dcr*_*sta 47
对于普通选择器,您可以使用respondsToSelector:.我不确定这是否适用于新式属性访问(因为在这个例子中你似乎使用它).要测试类是否响应给定的选择器,请使用instancesRespondToSelector:.
Rob*_*ert 35
此外,正如Jason在这里指出的那样,您还可以使用NSSelectorFromString在运行时动态检查.例如
if ([self respondsToSelector:NSSelectorFromString(elementName)])
{
[self setValue:elementInnerText forKey:elementName];
}
Run Code Online (Sandbox Code Playgroud)
And*_*son 31
哎呀,发现它:
if ([vc respondsToSelector:@selector(mapView)]) {
[[vc mapView] viewWillAppear:YES];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30341 次 |
| 最近记录: |