isKindOf 和 isMemberOf 的区别

在iOS 开发中,在遇到需要判断一个对象是否属于某个类的时候,我们经常会用到 isKindOfisMemberOf 这两个方法。但往往我们稍不注意,就会将他们两个用混了。虽然有时候的结果是对的,但对于程序的健壮性来说却不是一个好的事情了。所以我们在平常的程序开发中,一定要做到代码所写的和心里所想的完全一致。这样才能保证我们的程序的质量。今天我们就来好好梳理下这两个判断方法的区别。

  • iskindOf 是用来判断一个对象是否为某个类以及该类的父类的对象
  • isMemberOf 只能用来判断一个对象是否当前类的对象

所以如果我们需要判断一个对象是否为某两个类的对象,只能使用 isMemberOf 来进行判断,这样才能保证不管以后这两个类怎么变,都可以得到正确的结果。

isKindOf 应该在什么时候使用呢?

排除上面那一种用法,那就是判断 一个对象是否属于某个类或属于某个类的父类 这一种情况了。

以上是我在实际编程中对这两个方法的一点理解。