对象c:类的子类,其@interface在.m文件中



我正在尝试子类化一个类,其@interface和@ implementation被埋在另一个类' '中。. M"文件,以便重新定义其中声明的一些视图的样式。超类是一个cocoapod,我无法在不分叉repo的情况下修改它,我真的在努力避免这样做。有什么聪明的方法可以做到这一点,还是根本不可能?

老实说,我不明白为什么分叉是一个坏主意,或者为什么您要避免它。这就是分叉的全部意义,修改代码以满足您的更多需求,如果社区发现它也有用,可能稍后将其合并回来。

你可以尝试通过重新声明类或其他方式来破解这个问题,但这种实现将比你拥有完全控制的分支(包括合并任何上游更改)要脆弱得多。我认为这更多的是一种心理障碍,认为分叉成为"你的"代码和"你的"责任,而实际上,它只是维护,因为它将保持黑客版本在第三方代码的变化中工作。

最新更新