`
810364804
  • 浏览: 783039 次
文章分类
社区版块
存档分类
最新评论

CloudBox CBDialog

 
阅读更多

这两张UML图是表达我在CloudBox中针对自行开发的Dialog与iOS的UIAlertView的结合

首先我实践了一个CBiOSDialogView类,这是一个纯粹的objective-c类继承自NSObject

其中方法有一个-(void)showDialog:(DialogType)type :(NSString*)title :(NSString*)msg

以及另一个alertViewClick的事件来接收UIAlertView的按键事件

里面的代码只是很简单的就只是产生UIAlertView及绑定delegate

事件也只是将DialogResult及clickIndex丢出给CBDialogManager

在整体概念中,CBDialog是一个抽象类,CBSystemDialog则是一个针对系统内建AlertView(如iOS的UIAlertView或Android的AlertDialog)接口

在iOS中我实践了CBiOSDialog类作为针对iOS的实践,CBiOSDialog是一个C++类,作为一个区隔,隔开了CBSystemDialog与CBiOSDialogView

以维持在CBSystemDialog中统一为C/C++代码

CBDialogManager则为一个管理类,当CBDialog的衍生类实践showDialog方法并在其中呼叫registerDialog类

就会将该Dialog注册至管理类中,而在CBiOSDialogView中会直接透过管理类,将系统讯息转接抛出到相对应的Delegate中

如同下图所示,最终Delegate的目标为TestScene



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics