如何判断一个类是否支持某属性和方法以及如何判断IOS的版本

instancesrespondToSelector 是什么意思。与 respondsToSelector 有什么区别?

instancesRespondToSelector是指类的实例们是否能响应某一个方法(类操作),respondsToSelector是指类是否能响应某一方法(对象)

举例:

instancesRespondToSelector[AVPlayerItem instancesRespondToSelector:@selector(duration)] ;(建议使用这种方式)


使用这种方式也可以判断IOS系统的版本是否支持某个方法或者属性


举例:

if ([AVPlayerItem instancesRespondToSelector:@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 = [UIDevice currentDevice];

if ([device respondsToSelector:@selector(isMultitaskingSupported)]) {

_multitaskingSupported = device.multitaskingSupported;

}


更多 0

你可能感兴趣的:(如何判断一个类是否支持某属性和方法以及如何判断IOS的版本)