iphone - 子类化委托(delegate)?

标签 iphone ios cocoa-touch design-patterns delegates

我有一个名为 ToolbarView 的类,它是 UIView 的子类,基本上创建了一个 UIView,它有一个消失/重新出现的 UIToolbar 在上面。我还有一个名为 DraggableToolbarViewToolbarView 子类,它使用户能够在屏幕上拖动 View 。

我需要为 ToolbarView 创建一个委托(delegate),以便它可以通知另一个对象/类工具栏何时重新出现和消失。我还需要为 DraggableToolbarView 创建一个委托(delegate),以便在拖动 View 时通知另一个对象/类。

目前,我已经为每个委托(delegate)创建了一个单独的委托(delegate),但我想知道是否有更好的模式?也许为 ToolbarView 实现一个委托(delegate),并将 DraggableToolbarView 中的委托(delegate)方法列为可选?或者有没有办法子类化委托(delegate)?

完成此任务的最佳/最干净的方法是什么?

最佳答案

如果您为您的委托(delegate)方法创建一个协议(protocol)(无论如何总是一个好主意),您可以让另一个协议(protocol)采用第一个。这建立了类似继承的关系:

@protocol ToolbarViewDelegate
// some methods
@end

@protocol DraggableToolbarViewDelegate <ToolBarViewDelegate>
// additional methods
@end

关于iphone - 子类化委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10766643/

相关文章:

ios - 我想在几个类中使用 CustomTableViewCell.xib。但文件的所有者只有一个。我该如何解决这个问题?

ios - 快速添加 subview Controller

ios - 将 "Clear"按钮添加到 iPhone UITextField

iphone - 修复 ARC 类型转换错误的正确选项

iphone - 来自一组图像的视频有 RGB 问题

iphone - 使用 Curl 验证 App Store 收据时出现 IllegalStateException?

ios - 尝试将指针转换为 ARC 下的指针

ios - Apple 会离线测试 iOS 应用程序吗?如果没有连接,如何处理错误?

iphone - XCode - 全局函数 self.view

ios - 如何在离线模式下从 AFNetworking 缓存中获取图像