objective-c静态库类类,覆盖方法不起作用

Bre*_*den 2 iphone objective-c categories

我正在使用Three20 for iphone,我试图通过使用类类别来改变其中的方法.编译很好,但我从来没有达到它的断点.

我假设类类别会影响该类的所有实例,因此我不必重新编译静态库以使其工作.

我也知道我正在使用的类正在被看到,因为如果我在接口和实现类别时在类名的末尾添加'x',则编译器会失败.

这里的任何指导都非常感谢.

Bra*_*son 11

正如此处所指出的,您需要在应用程序的Other Linker Flags中设置-all_load选项,以便在iPhone OS 3.0中将类别链接到静态库.-ObjC也应该这样做,但它不适用于当前的SDK.由于LLVM编译器在Xcode 4.2,他们修复了阻止-ObjC的其他链接器标志正常工作的连接错误,让您不再需要使用-all_load(其中有一些讨厌的副作用).-ObjC应该是您从静态库中获取类别所需的全部内容.

这可能会导致您的问题,虽然我认为Three20要求设置链接器标志,以便它首先与您的应用程序正确链接,因此您可能已经有这些标志.