我在一个文件中有两个实现。就像下面那个。如何在第一个方法中访问第二个方法?如果我尝试这样做,编译器会抛出一个未知的选择器错误。
我知道在C中你必须拥有必须在定义中具有层次结构才能构建的方法。 ObjectiveC中也是这样吗?除了在第一个实现之上定义第二个实现之外,还有其他选择吗?
@implementation BaseClass
-(void)someMethod {
XCUIElementQuery *elementQuery = [[XCUIApplication alloc] init].tables
[elementQuery anotherMethod]; //How do I use the category method here?
}
@end
@implementation XCUIElementQuery (BaseClassCategory)
-(void)anotherMethod {
//do something
}
@end
答案 0 :(得分:1)
在文件的顶部,只需为XCUIElementQuery声明一个接口,如下所示:
@interface XCUIElementQuery (XCUIElementQuery_private)
-(void)anotherMethod;
@end
答案 1 :(得分:0)
只需交换两组实现。
@implementation XCUIElementQuery (BaseClassCategory)
-(void)anotherMethod {
//do something
}
@end
@implementation BaseClass
-(void)someMethod {
XCUIElementQuery *elementQuery = [[XCUIApplication alloc] init].tables
[elementQuery anotherMethod]; //How do I use the category method here?
}
@end