instancesRespondToSelector:[AVPlayerIteminstancesRespondToSelector:@selector(duration)] ;(建议使用这种方式)
使用这种方式也可以判断IOS系统的版本是否支持某个方法或者属性
举例:
if([AVPlayerIteminstancesRespondToSelector:@selector(duration)]) {
// On iOS 4.3 we get here...
cTime =_avPlayer.currentItem.duration;
}
else
{
//On IOS 4.2 we get here...
cTime =_avPlayer.currentItem.asset.duration;
}
...
}
respondsToSelector:(同样可以达到效果)
UIDevice* device = [UIDevicecurrentDevice];
if([devicerespondsToSelector:@selector(isMultitaskingSupported)]) {
_multitaskingSupported= device.multitaskingSupported;
}
instancesRespondToSelector:[AVPlayerIteminstancesRespondToSelector:@selector(duration)] ;(建议使用这种方式)
使用这种方式也可以判断IOS系统的版本是否支持某个方法或者属性
举例:
if([AVPlayerIteminstancesRespondToSelector:@selector(duration)]) {
// On iOS 4.3 we get here...
cTime =_avPlayer.currentItem.duration;
}
else
{
//On IOS 4.2 we get here...
cTime =_avPlayer.currentItem.asset.duration;
}
...
}
respondsToSelector:(同样可以达到效果)
UIDevice* device = [UIDevicecurrentDevice];
if([devicerespondsToSelector:@selector(isMultitaskingSupported)]) {
_multitaskingSupported= device.multitaskingSupported;
}
本文介绍了Objective-C中检查方法响应性的两种方式:instancesRespondToSelector和respondsToSelector的区别及应用场景。前者用于判断类的所有实例是否能响应指定方法,后者用于判断特定对象是否能响应指定方法。

被折叠的 条评论
为什么被折叠?



