如果一个 XCode 项目有两个类别:
@implementation NSData (test1)
- (void) testData {
NSLog(@"test data 1");
}
@end
和
@implementation NSData (test2)
- (void) testData {
NSLog(@"test data 2");
}
@end
这个的预期输出是什么:
NSData* testData = [[NSData alloc] init];
[testData testData];
我得到的输出总是
#import "NSData+test1.h"
对此有何解释?有没有办法强制第一类?
这里的问题是,如果您要导入两个具有相同名称类别的静态库的 SDK,您如何解决这个问题。我假设唯一的方法是要求 SDK 创建者为方法名称使用前缀?