我的应用程序中有一个几乎可以完成所有操作的视图,我喜欢这样。然而问题是它实现了 5 或 6 个不同的委托,这看起来有点混乱。
我的问题是,视图控制器是否必须实现所有委托?或者有什么方法可以将代码分离到不同的文件中(无需进行重大重组或重写)?
这是我正在实现的所有代表:
@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”中定义的一样。
类别名称无需与协议名称匹配。您可以使用任何一组方法来完成此操作,并使用您喜欢的任何类别名称。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)