分类中的方法是直接添加在类里面的,他们就好比这个类中的固有方法。将分类方法加入类的方法列表中,如果类本身就由此方法,分类又实现了一次,那么分类中的方法会覆盖原来那一份实现代码。实际上可能会覆盖很多次,例如,某个分类中的方法覆盖了“主实现”中的相关方法,而另外一个分类中的方法有覆盖了这个分类中的方法。多次覆盖的结果以最后一个分类为准。程序运行时,由于执行结果和预期的不同,所以自己写的那些代码不会执行。这种bug很难查。
解决办法:以命名空间来区分各个分类的名称与其中所定义的方法。给相关名称加上某个共用的前缀。
总结:
1.向第三方类中添加分类时,总应给其名称加上你专用的前缀
2.向第三方类中添加分类时,总应给其中的方法名加上你专用的前缀。
解决办法:以命名空间来区分各个分类的名称与其中所定义的方法。给相关名称加上某个共用的前缀。
总结:
1.向第三方类中添加分类时,总应给其名称加上你专用的前缀
2.向第三方类中添加分类时,总应给其中的方法名加上你专用的前缀。