【问题标题】:How to handle multiple delegates如何处理多个委托
【发布时间】:2011-01-29 07:01:30
【问题描述】:

我的应用中有一个视图,它几乎可以完成所有工作,我喜欢这种方式。然而问题是它实现了 5 或 6 个不同的委托,这看起来有点混乱。

我的问题是,视图控制器是否必须实现所有委托?或者有什么方法可以将代码分成不同的文件(无需进行重大重组或重写)?

这是我正在实施的所有代表:

@interface MyView : UIViewController <UIScrollViewDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UIActionSheetDelegate, MFMailComposeViewControllerDelegate>

【问题讨论】:

    标签: iphone delegates uiviewcontroller


    【解决方案1】:

    没问题。解决方案是Objective-C 类。你可以把它放在一个单独的源文件中:

    #import "MyView.h"
    @implementation MyView (UIScrollViewDelegate)
    // scroll view delegate method implementations go here
    @end
    

    一个很好的约定是将此文件命名为“MyView+UIScrollViewDelegate.m”。您在此处定义的方法的行为就像在“MyView.m”中定义的一样。

    类别名称无需与协议名称匹配。您可以使用任何一组方法并使用您喜欢的任何类别名称来执行此操作。

    【讨论】:

    • 我有兴趣清理我的代码。你是否也需要“MyView+UIScrollViewDelegate.h”。如果是,它的外观如何?
    猜你喜欢
    • 1970-01-01
    • 2013-04-20
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多