iphone - 委托(delegate)覆盖

标签 iphone ios delegates

<分区>


想改进这个问题吗? 通过 editing this post 添加细节并澄清问题.

关闭 9 年前

如果我们在任何委托(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/

上一篇:iOS 7 天气应用展开/折叠过渡

下一篇:iphone - 如何用 viewWithTag 隐藏 UILabel?

相关文章:

iphone - UIWebView中的YouTube视频

android - 使Android代码跨平台

更改 google、gmail 密码时 iOS Google SDK 失败

c++ - 语法错误 : Call Member Function Pointer using Pointer to Object

c# - 为什么 C# 三元运算符不能与委托(delegate)一起工作?

ios - 当元素被激活时如何获取indexpath.row?

iphone - iPad 2 和最新 iPod 的 systemInfo.machine 值

iPhone SDK - 这个控件是什么?是习俗吗?

ios - MagicalRecords importFromArray 返回空数组

ios - 正在调用我的委托(delegate)函数,但我的 UI 仍然没有相应更新