在Objective-C中,我希望有一个子类调用或调用父类的方法。就像在父级中分配了子级一样,子级执行了将调用父级方法的操作。像这样:
//in the parent class
childObject *newChild = [[childClass alloc] init];
[newChild doStuff];
//in the child class
-(void)doStuff {
if (something happened) {
[parent respond];
}
}
我该怎么做呢? (如果您能彻底解释,我将不胜感激)
最佳答案
您可以为此使用委托:让childClass定义委托协议和符合该协议的委托属性。然后您的示例将更改为以下内容:
// in the parent class
childObject *newChild = [[childClass alloc] init];
newChild.delegate = self;
[newChild doStuff];
// in the child class
-(void)doStuff {
if (something happened) {
[self.delegate respond];
}
}
这里有一个有关如何声明和使用委托协议的示例:How do I set up a simple delegate to communicate between two view controllers?