小编Mus*_*afa的帖子

目标C中具有相同功能名称的类别

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

iphone objective-c ipad ios

5
推荐指数
1
解决办法
2686
查看次数

标签 统计

ios ×1

ipad ×1

iphone ×1

objective-c ×1