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