假设iOS应用程序显示一个元素,当该元素被单击时,该元素将调用该元素的操作菜单(例如,UIActionSheet)。要注意的是,在应用程序的每个视图中都可能存在许多可单击的元素,例如此元素,因此在任何情况下都必须处理操作菜单及其委托。
例如,clickable元素可以是某些产品的照片(带有图像背景的UIButton),可以出现在许多不同的屏幕中,并且在单击时会向用户显示诸如“购买”,“查看详细信息”等选项。上。
您将如何以模块化和可重用的方式设计/实现具有相关行为的此类组件?
将功能保持在一组独立的类中很重要,这些类可以轻松进行单独测试,并在需要时打开/关闭,并且不需要在可能使用该功能的每个控制器中插入代码。
谢谢!
最佳答案
如何创建表示所需功能的单例类?然后,您可以每次调用单例对象。
@interface MyClickableButtonWithImage : NSObject {
UIButton *aButton;
}
+(MyClickableButtonWithImage)getInstance;
-(IBAction)buttonClicked:(id)sender;
@property (nonatomic, strong) IBOutlet UIButton *aButton;
@end
// In your .m files, this will get the singleton object
MyClickableButtonWithImage *myCBWI = [MyClickableButtonWithImage getInstance];