2012-03-20 46 views

回答

3

最简单但最不适用的解决方案是继承或扩展。

如果许可证授权它,您也可以尝试反编译.a文件:cf. Decompiling Objective-C libraries,但它可能会非常棘手和/或非法。

0

你不能修改一个静态库,你最好的办法是尝试访问源代码或者让作者为你修改它。

0

您可以使用Objective C扩展。

例如,有一个在.A LIB一个[MyClass myMethod],和你想改变这一条,下面的代码可用于:

#import "MyClass.h" 
@interface MyClass(CategoryName) 
-(void)myMethod; 
@end 

@implementation MyClass(CategoryName) 
-(void)myMethod 
{ 
    //new implementation goes here 
} 
@end 
+0

什么是CategoryName? – 2015-05-05 04:15:05

+0

这个答案是完全错误的。使用类别搅拌有未定义的行为。 – fpg1503 2016-06-23 14:09:12

0

你不能修改库,仅延伸。这很重要 - 在你的代码后面分发功能,而不需要人们阅读它。

相关问题