<分区>
如果我们在任何委托(delegate)方法中编写一些代码。会不会是某种方法重载?
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
switch (alertView.tag)
{
case 1000:
if (buttonIndex == 0)
{
[self revealOneLetter];
}
break;
case 2000:
if (buttonIndex == 0)
{
[self removeSomeLetters];
}
break;
case 5000:
[self backBtnAction:nil];
break;
case 3000:
if (buttonIndex == 1)
{
[self buyBtnAction:nil];
}
break;
}
}
在上面的代码中,我们在委托(delegate)方法中调用了一些方法,所以基本上我们是在覆盖委托(delegate)。 这个东西的确切名称是什么。
最佳答案
你不是覆盖(或覆盖或重载,它们是不同的)任何东西,你是实现 委托(delegate)方法。也就是说,您要添加一个可以由委托(delegate)对象调用的方法。效果可能类似于覆盖子类中的方法:在这两种情况下,您都在修改对象的行为,但关系不同。 委托(delegate) 模式提供了特化 而无需子类化。例如,在应用程序商店中四分之三的无数应用程序中,几乎所有这些应用程序都使用相同的 UIApplication 对象——没有人将 UIApplication 子类化,因为您可以使用应用程序委托(delegate)对其进行专门化。
关于iphone - 委托(delegate)覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17851847/