1

我想重新加载+ (BOOL)resolveClassMethod:(SEL)sel方法以在超类中添加我的未解析方法的自定义实现,如下所示:

+ (BOOL)resolveClassMethod:(SEL)sel {
    BOOL result = [super resolveClassMethod:sel];
    if (result) {
        return result;
    }

    /*my logic here*/

}

但是我注意到,当我+bundleForClass:用这个类调用方法时,它实际上是resolveClassMethod:bundleForClass:选择器作为参数调用的。而且,当然,[super resolveClassMethod:sel];返回“否”,它就会进入我的逻辑。代码:

NSBundle *classBundle = [NSBundle bundleForClass:NSClassFromString(@"MyClass")];

为什么上面的代码+resolveClassMethod:在 MyClass 上调用?我的目标是将我的自定义类方法的实现添加到类中,而不是标准方法的实现bundleForClass:,所以我如何检查这样的方法来跳过它。

4

0 回答 0