gpt4 book ai didi

objective-c - 如果两个不同的类别具有相同的方法,那么 Objective C 运行时系统将调用哪一个?

转载 作者:太空狗 更新时间:2023-10-30 03:48:27 25 4
gpt4 key购买 nike

如果两个不同的类别具有相同的方法,那么 Objective-C 运行时系统将调用哪个类别??

例如:

@interface ClassA (MathOps)
-(void)CategoryMethod;
@end

@interface ClassA (MathOps1)
-(void)CategoryMethod;
@end

@implementation ClassA(MathOps1)
- (void) CategoryMethod{
NSLog(@"Inside Category Method 2");
}
@end

@implementation ClassA(MathOps)
- (void) CategoryMethod{
NSLog(@"Inside Category Method 1");
}
@end

现在,如果我调用 [ObjClassA CategoryMethod];,那么调用的是哪个?为什么?

最佳答案

这是未定义的。这取决于运行时首先加载哪个类别,是否没有记录发生这种情况的顺序。

底线:不要这样做。 :)

关于objective-c - 如果两个不同的类别具有相同的方法,那么 Objective C 运行时系统将调用哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3686271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com