0
我有一个单一的文件中的两个实现。如下所示。我如何在第一个访问第二个方法?如果我试图这样做,编译器会抛出一个未知的选择器错误。两个@implementation的文件;底层实现方法在顶层实现中不可见?
我知道,在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
这必须是'@interface XCUIElementQuery(BaseClassCategory)' – rmaddy
不,它不需要http://stackoverflow.com/questions/11679885/xcode-now-generates-an-empty-category-why – TyR
你的答案将声明添加到类扩展中。我的建议将声明添加到班级类别中。这是两回事。 OP在询问班级类别。因此,声明应被加入到类的类别,而不是唯一类扩展。 – rmaddy