如果一个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创建者为方法名称使用前缀?