gpt4 book ai didi

iphone - 如何处理多个委托(delegate)

转载 作者:行者123 更新时间:2023-12-03 18:38:31 25 4
gpt4 key购买 nike

我的应用程序中有一个几乎可以完成所有操作的 View ,我喜欢这样。然而问题是它实现了 5 或 6 个不同的委托(delegate),这看起来有点困惑。

我的问题是, View Controller 是否必须实现所有委托(delegate)?或者有什么方法可以将代码分离到不同的文件中(无需进行重大重组或重写)?

这是我正在实现的所有委托(delegate):

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

最佳答案

没问题。解决方案是 Objective-C 类。您可以将其放入单独的源文件中:

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

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

类别名称无需与协议(protocol)名称相匹配。您可以使用任何一组方法来完成此操作,并使用您喜欢的任何类别名称。

关于iphone - 如何处理多个委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2474526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com